Hallo ich benutze Android NavigationView. Ich möchte für einige Elemente in der Navigationsansicht eine separate Textfarbe angeben, nicht für alle Elemente. ODER Ich möchte die Textfarbe für ein einzelnes Objekt dynamisch ändern, wenn ich ein Element in der Navigationsansicht auswähle (Nur für bestimmte Elemente). Wie kann ich das machen?Wie wird eine benutzerdefinierte Textfarbe für einen einzelnen Menüeintrag in einem NavigationView angezeigt?
Antwort
Ja Sie können es tun Ich habe es auch getan.
Zuerst holt die MenuItem, zu dem Sie die Farbe
Menu m = navView.getMenu();
MenuItem menuItem = m.findItem(your_menu_id);
dann spannable es mit Ihrer Farbe
SpannableString s = new SpannableString(menuItem.getTitle());
s.setSpan(new ForegroundColorSpan(Color.your_color), 0, s.length(), 0);
menuItem.setTitle(s);
das ist anwenden ändern ..
nun im folgenden Code ist für Ihre 2. Lösung, die Textfarbe dynamisch auf Menü ändert, klickt.
navView.setNavigationItemSelectedListener(new
NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
SpannableString s = new SpannableString(menuItem.getTitle());
s.setSpan(new ForegroundColorSpan(Color.RED), 0, s.length(), 0);
menuItem.setTitle(s);
return false;
}
});
Soweit ich weiß, ist dies nicht möglich. Ich habe gesucht (wie ich sicher bin), ein Beispiel dafür zu finden, wie man das erreicht, und kann keins finden.
Ich würde wirklich vorschlagen, eine benutzerdefinierte Ansicht zu erstellen, was Sie versuchen zu tun (was nicht sehr detailliert in Ihrer Frage ist, so ist es ein bisschen schwer, eine Alternative vorschlagen). Oder, wenn Sie wirklich etwas verwenden möchten, das vom SDK zur Verfügung gestellt wird, können Sie vielleicht das OptionsMenu
verwenden (was die Anpassung einzelner Menüelemente ermöglichen sollte).
EDIT: Es stellt sich heraus, dass es möglich ist, dies ohne eine benutzerdefinierte Ansicht zu tun. Siehe die akzeptierte Antwort von moinkhan für Details.
Hallo, ist es möglich. Siehe die Antwort! :) –
Danke! Ich habe meine Antwort für jeden aktualisiert, der über diesen Thread stolpert. – ryguy
- 1. Wie wird die Ellipseneinstellung im Menüeintrag von NavigationView eingestellt?
- 2. Änderung Artikel Textfarbe von NavigationView
- 3. Benutzerdefinierte Textfarbe für bestimmte Indizes in QTreeView
- 4. Ändern der Textfarbe eines einzelnen Elements in einem PopupMenu
- 5. JS print - CSS Textfarbe wird nicht angezeigt
- 6. Wie weisen Sie einem Menüeintrag in Eclipse einen Hotkey zu?
- 7. Wie wird eine benutzerdefinierte Ansicht in der ActionBar angezeigt?
- 8. Wie wird eine mehrzeilige Array-Liste in einem einzelnen TextView angezeigt?
- 9. Wie wird ein Long-Klick-Listener auf einem MenuItem (in einer NavigationView) festgelegt?
- 10. Java SWT: Wie wird ein Menüeintrag ausgewählt?
- 11. Benutzerdefinierte Winkeldirektive wird nicht angezeigt?
- 12. Auswählen, wo mein Menüeintrag für eine VSPackage-Erweiterung erscheint
- 13. Wird eine Anforderung in IIS in einem einzelnen Thread ausgeführt?
- 14. Wie wird die benutzerdefinierte Suchleiste angezeigt?
- 15. Wie ändere ich die Symbolrichtung für Menüeinträge in einem NavigationView?
- 16. ActionLayout für navigationview Artikel angezeigt auf der rechten Seite
- 17. Benutzerdefinierte Fehlerseite wird in Jetty nicht angezeigt
- 18. Benutzerdefinierte Markierung in gmaps4rails wird nicht angezeigt
- 19. Wie zeichne ich mehrere Y-Werte für einen einzelnen X-Wert in einem einzelnen Gnuplot-Fenster?
- 20. Wie wird eine Tabelle in ShowMessage angezeigt?
- 21. Wie UIButtons angezeigt wird in einem Pfad
- 22. Wie wird eine JTable in einem JPanel mit Java angezeigt?
- 23. Wie wird eine Maske in jtextfield angezeigt?
- 24. Wie programmiere ich jedes Mal, wenn ein Android NavigationView angezeigt wird, programmatisch und deaktiviere es?
- 25. Wie wird WP Google Map Pro dynamisch in einer einzelnen Seite angezeigt?
- 26. Xamarin NavigationView Menüpunkt Anpassung
- 27. Wie behalte ich den einzelnen CheckableBehavior-Modus im Drawer-Menü für NavigationView, wenn wir Abschnitt hinzufügen?
- 28. Wie kann ich einen einzelnen Wert in einem data.frame ändern?
- 29. Spring MVC: Domäneneinschränkung für einen einzelnen Controller
- 30. WPML-Übersetzungsoption wird nicht für benutzerdefinierte Beitragstypen angezeigt
JA! Es funktionierte! Vielen Dank! :) –
Sehr hinterhältig! Es sieht so aus, als ob Sie eine vollständige Kontrolle haben, da Sie das Symbol für einen einzelnen Menüeintrag abrufen können. Vielen Dank! –
Das ist Gold! Ich musste zu lange suchen, danke :) – gtRfnkN