Прозрачная строка состояния темного текста с непрозрачной панелью навигации
Подождите, это не дубликат
Подобный вопрос был задан здесь, но не в отношении строки состояния темного текста.
Что я хочу сделать
Я хочу достичь 3 вещей одновременно:
- Прозрачная строка состояния (не скрывая!)
- Строка состояния темного текста
- Непрозрачная (или черная) панель навигации (которая не позволяет содержимому активности надуваться под ним)
Что я пробовал
Решение
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
можно достичь только 1 и 3;
Решение здесь может достичь только 1 и 2;
И решение здесь может достичь только 2 и 3....
Вопрос
Так есть ли способ достичь всех 1, 2 и 3?!
1 ответ
Решение
Внутри styles.xml
:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
...
<item name="android:navigationBarColor">@android:color/black</item>
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
В деятельности onCreate()
:
override fun onCreate(savedInstanceState: Bundle?) {
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
Приведет к этому: