syrl Posted February 11, 2015 Share Posted February 11, 2015 Bonjour à tous ! Je suis actuellement confronté à un problème : lorsque je crée un menu, puis que j'ouvre un sous-menu de ce menu, la liste d'items, est écrite en blanc sur blanc, donc illisible :s J'avais déjà eut ce problème, pour créer une liste personnalisée avec un adaptateur, et j'avais résolu le problème en changeant "getApplicationContext" par "this" lors de la création de l'adaptateur (cela est impossible ici...). Pouvez-vous m'aider ? Merci d'avance, Syrl :) Code XML (menu_perso.xml) : <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/item1" android:title="Item 1"></item> <item android:id="@+id/item2" android:titleCondensed="Item 2" android:title="Item 2 mais avec un nom assez long quand même"> <menu> <item android:id="@+id/item3" android:title="Item 2.1" android:checkable="true"/> <item android:id="@+id/item4" android:title="Item 2.2"/> </menu> </item> <item android:id="@+id/item5" android:title="Item 3" android:checkable="true"/> <item android:id="@+id/item6" android:title="Item 4"> <group android:id="@+id/group1" android:checkableBehavior="all"> <item android:id="@+id/item7" android:title="Item 4.1"></item> <item android:id="@+id/item8" android:title="Item 4.2"></item> </group> </item> <group android:id="@+id/group2" android:enabled="false"> <item android:id="@+id/item9" android:title="Item 5.1"></item> <item android:id="@+id/item10" android:title="Item 5.2"></item> </group> </menu> Code où on déserialise le XML : @[member=override] public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_perso, menu); return true; } Link to comment Share on other sites More sharing options...
Ecrou Posted February 11, 2015 Share Posted February 11, 2015 Dans le manifest, tu peux changer le theme opur avoir quelque chose de plus visible. http://developer.android.com/guide/topics/ui/themes.html Link to comment Share on other sites More sharing options...
syrl Posted February 12, 2015 Author Share Posted February 12, 2015 D'accord, merci ! Mais est-ce normal que ce ne soit pas automatique ? (J'ai trouvé très peu de problèmes similaires au mien...) De plus, quel thème dois-je appliquer, et comment, pour que ce soit valable uniquement pour un sous-menu ? Merci ! Syrl Link to comment Share on other sites More sharing options...
syrl Posted February 13, 2015 Author Share Posted February 13, 2015 Un p'tit up ? :) [EDIT] J'ai finalement trouvé une solution : @[member=override] public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main, menu); SubMenu sm = menu.findItem(R.id.item2).getSubMenu(); for(int i = 0 ; i < sm.size() ; i++) { MenuItem item = sm.getItem(i); SpannableString s = new SpannableString(item.getTitle()); s.setSpan(new ForegroundColorSpan(Color.DKGRAY), 0, s.length(), 0); item.setTitle(s); } return true; } Seulement, je trouve vraiment bizarre qu'on ait besoin de faire cela, alors que c'est normalement le XML qui est censé définir l'apparence de l'application. Et c'est encore plus bizarre de mettre un menu blanc sur blanc par défaut... Si quelqu'un a une meilleure solution, peut-il se manifester ? Merci, Syrl :) Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.