W nowej aktualizacji Lollipop zauważyłem, że w natywnych aplikacjach Google kolor paska stanu zmienia się, aby pasował do paska akcji w uruchomionej aplikacji. Widzę, że jest to również w aplikacji Twitter, więc domyślam się, że nie tylko Google może to zrobić.
Czy ktoś wie, jak to zrobić, jeśli to możliwe?
android
colors
status
android-5.0-lollipop
Briscoooe
źródło
źródło
getWindow().setStatusBarColor(activity.getResources().getColor(R.color.example_color));
i zadziałało idealnie. Nie jestem pewien kontekstu, w którym flagi są absolutnie konieczne.Po prostu dodaj to do you styles.xml. ColorPrimary jest dla paska akcji, a colorPrimaryDark dla paska stanu.
To zdjęcie od programisty Androida wyjaśnia więcej na temat palety kolorów. Możesz przeczytać więcej pod tym linkiem .
źródło
<color name="colorPrimary">#somecolor</color>
i<color name="colorPrimaryDark">#somecolor</color>
. Można je zmieniać, aby osiągnąć zamierzony efekt.Innym sposobem ustawienia koloru paska stanu jest użycie style.xml .
Aby to zrobić, utwórz plik style.xml w folderze res / values-v21 z następującą zawartością:
Edycja: jak wskazano w komentarzach, podczas korzystania z AppCompat kod jest inny. W pliku res / values / style.xml użyj zamiast tego:
źródło
Aby ustawić kolor paska stanu, utwórz plik style.xml w folderze res / values-v21 z następującą zawartością:
źródło
Dodaj tę linię w stylu v21, jeśli używasz dwóch stylów.
źródło
android:windowDrawsSystemBarBackgrounds
Jeśli chcesz mieć inny
status-bar
kolor dla różnych czynności ( fragmentów ), możesz to zrobić, wykonując następujące czynności (pracuj na API 21 i nowszych):Najpierw utwórz
values21/style.xml
i umieść następujący kod:Następnie zdefiniuj białe | ciemne motywy w
values/style.xml
następujący sposób:Nie zapomnij również zastosować motywów w swoim
manifest.xml
.źródło
Na urządzeniach z Androidem w wersji wcześniejszej niż Lollipop możesz to zrobić z SystemBarTintManager. Jeśli używasz Android Studio, po prostu dodaj Systembartint lib do pliku gradle.
Następnie w swojej działalności
źródło