Detale:
Rozszerzam ActionBarActivity.
Eclipse i SDK w pełni załatane od 2011-11-06.
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="14" />
Wdrożony na urządzeniu Samsung z Androidem 2.3.3
Aplikacja maandroid:theme="@android:style/Theme.Light"
Problem: aplikacja jest jasna, ale ActionBar jest niebieski z szarymi ikonami, ledwo widocznymi na niebieskim tle. Chcę również, aby pasek Actionbar był jasny, aby szare ikony były bardziej widoczne.
Próbowałem modyfikować style, ale bezskutecznie.
Prawdopodobnie brakuje mi czegoś trywialnego.
Jak zmienić kolor tła ActionBar ActionBarActivity za pomocą XML?
android
android-actionbar
android-theme
android-styles
użytkownik77115
źródło
źródło
Odpowiedzi:
Zgodnie z dokumentacją - „Możesz kontrolować zachowanie i widoczność paska akcji za pomocą interfejsów API ActionBar, które zostały dodane do Androida 3.0 (API poziom 11)”.
Dlatego ActionBar nie będzie działał w środowisku docelowym na poziomie API 10 (Android 2.3.3).
Na wszelki wypadek, jeśli celujesz na minimalny poziom API 11, możesz zmienić kolor tła ActionBar poprzez zdefiniowanie własnego stylu, jako:
I ustaw „MyTheme” jako motyw dla aplikacji / aktywności.
źródło
<item name="android:textColor">@color/my_color</item>
.@android:color
do zdefiniowanego w nim koloru niestandardowegocolors.xml
? Próbowałem bezskutecznie.Spróbuj tego
źródło
bar.setBackgroundDrawable(new ColorDrawable(Color.BLUE));
zmień kolor paska akcji na szary. Są także dzieje się, jeśli umieścić inny kolor, jakColor.RED
,Color.GREEN
i tak dalej ... Czy ktoś ma ten sam problem, lub zna przyczynę tego problemu? Używam urządzenia Nexus SSpróbuj tego:
źródło
onCreate
ale dałoNullPointerException
Edycja: to jest kod, który dodałem dorestoreActionBar
ActionBar actionBar = getSupportActionBar (); actionBar.setBackgroundDrawable (nowy ColorDrawable (Color.parseColor („# E5E4E2”)));Użyj tego - http://jgilfelt.github.io/android-actionbarstylegenerator/
To niesamowite narzędzie, które pozwala dostosować pasek akcji za pomocą podglądu na żywo.
Próbowałem wcześniejszych odpowiedzi, ale zawsze miałem problemy ze zmianą innych kolorów, takich jak zakładki i litery, i spędziłem godziny na ulepszaniu. To narzędzie pomogło mi wykonać projekt w zaledwie kilka minut.
Wszystkiego najlepszego! :)
źródło
Miałem ten sam problem, gdy pasek akcji zmieniał kolor na szary, gdy wprowadzałem ten kod. Możliwe, że twój oryginalny arkusz stylów wyglądał tak:
„DarkActionBar” utrzymywał szary pasek akcji. Zmieniłem to na to i zadziałało:
Wrzuciłem również sposób edycji koloru tekstu. Ponadto nie trzeba zmieniać niczego wokół zasobów.
-Królikarnia
źródło
Zachowanie paska akcji można również zmienić w interfejsach API <11
Zobacz oficjalną dokumentację Androida odsyłające
Tworzę aplikację
minSdkVersion = "9"
itargetSdkVersion = "21"
zmieniłem kolor paska akcji i to działa dobrze z API poziomu 9Oto xml
res/values/themes.xml
i ustaw żądany kolor paska akcji
res/values/colors.xml
Kolor paska akcji można również zdefiniować w
.class
pliku, fragment toale to nie będzie działać z API <11 , więc stylizowanie paska akcji
xml
jest tylko sposobem dla API <11źródło
Bezpośrednio dodaj tę linię ze swoim kodem koloru
nie trzeba tworzyć obiektu ActionBar za każdym razem ...
źródło
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(android.R.color.black)));
Na Nexusie 4 wydaje się, że kolor robi się szary.
(wszystkie podziękowania dla tego postu, ale jest on zakopany w komentarzach, więc chciałem go znaleźć tutaj) https://stackoverflow.com/a/17198657/1022454
źródło
wypróbuj jeden kod linii:
źródło
Użyj poniższego kodu, aby podać inny kolor niż tekst paska akcji i tło paska akcji, po prostu użyj poniżej motywu manifestu przeciwko aktywności, w której chcesz wydrukować :)
źródło
W ten sposób możesz zmienić kolor paska akcji.
W MainActivity.java zmień kolor paska akcji w ten sposób
źródło
Gdy rozszerzasz działalność, użyj następującego kodu
W przypadku rozszerzania funkcji AppCompatActivity użyj następującego kodu
źródło
Ten kod może być pomocny
źródło
Użyj tego kodu ... aby zmienić kolor tła paska akcji. otwórz „res / wartości / themes.xml” (jeśli nie jest obecny, utwórz go) i dodaj
Uwaga: ten kod działa tylko dla Androida 3.0 i wyższych wersji
źródło
To zadziałało dla mnie, dla AppCompatActivity,
źródło
Jest to bardzo proste dla tych, którzy używają API 21 lub nowszego Użyj tego kodu poniżej
dla Dark ActionBar
for_LightActionBar
źródło
Użyj tego, to zadziała.
źródło
Czasami ta opcja zgłasza wyjątek NullPointerException
ActionBar actionbar = getActionBar(); actionbar.setBackgroundDrawable(new ColorDrawable("color"));
Ale ta opcja działa dla mnie. Możesz więc spróbować.
Happy Coding
źródło
Jeśli używasz aplikacji Androidx AppCompact. Użyj poniższego kodu.
źródło
plik color.xml:
źródło