Czy można zmienić ikonę przepełnienia na pasku akcji? Mam niebieskie ikony dla wszystkich elementów ActionBar i chcę również zmienić ikonę przepełnienia, gdy się pojawi.
111
Czy można zmienić ikonę przepełnienia na pasku akcji? Mam niebieskie ikony dla wszystkich elementów ActionBar i chcę również zmienić ikonę przepełnienia, gdy się pojawi.
Odpowiedzi:
Możesz ze stylem, ale musisz dodać go do głównej deklaracji motywu.
Możesz również zmienić to dynamicznie, o czym szczegółowo omówię tutaj:
Programowa zmiana ikony menu Android Overflow
źródło
parent="Widget.Sherlock.ActionButton.Overflow"
parent="@style/Widget.AppCompat.ActionButton.Overflow"
Wydaje mi się , że dla appcompat (w każdym razie V21 Lollipop) działa.Dla tych, którzy nie mogą go uruchomić, wypróbuj to BEZ przestrzeni nazw „android:”.
źródło
Zmień niestandardową ikonę przepełnienia paska akcji w styles.xml.
Umieść motyw niestandardowy „MyTheme” w tagu aplikacji AndroidManifest.xml
Baw się dobrze.@.@
źródło
Bez względu na to, co próbowałem zrobić
styles.xml
, żadne z rozwiązań nie zadziałało. Ostatecznie, jeśli masz AppCompat 23+, co powinieneś, to najłatwiejszy sposób, który faktycznie działa:źródło
Odpowiedź @ adneal jest prawidłowa (więc jest to tylko wyjaśnienie wiki społeczności, aby ją rozwinąć).
Jeden z komentarzy sugerował, że może istnieć nieporozumienie, jak to zrobić, więc moja odpowiedź jest tylko kolejnym przykładem, jak zastąpić obraz ikony Przepełnienie.
Poniższy kod jest oparty na stylach szablonów z przykładowego nowego projektu systemu Android w narzędziu ADT. Kod pochodzi z
styles.xml
pliku wres/values
folderze.To, co robi powyższy kod, to zastąpienie domyślnej ikony przepełnienia dowolnym rysunkiem, który ma nazwę
ic_menu_moreoverflow
. Jeśli chcesz szybko to przetestować, użyj nazwy pliku ikony programu uruchamiającego aplikacji, dzięki czemu będzie oczywiste, jak to działa.Przydatnym źródłem do zrozumienia
ActionBar
stylów jest:Tam możesz zdefiniować określone kolory, które będą używane dla ikony przepełnienia, a plik ZIP będzie zawierał właściwy
styles.xml
plik.źródło
Aby zmienić kolor ikony przepełnienia, możesz po prostu dodać
lub
Zmieni ikonę, wybierz dowolny kolor i ustawi jako Overflowicon.
źródło
Po długich poszukiwaniach otrzymałem wskazówki, których należy przestrzegać:
Dodaj element w motywie w pliku theme.xml:
Dodaj ikonę w stylu w tym samym pliku mam na myśli theme.xml:
Sprawdź niestandardową ikonę, którą chcesz zmienić
U mnie to zadziałało
źródło