Можно ли использовать не только строку состояния, но и вид нижнего колонтитула для фонового изображения

Я искал везде, но не получил никакой помощи. Я хочу использовать фоновое изображение в качестве полного экрана, который будет охватывать status bar и footer navigation также имеющий back button с home button и task switcher button,

Как на картинке ниже:

Главный экран Nexus 5

1 ответ

Решение

Прозрачная панель навигации работает для Android 4.4+ (API 19) (так же, как строка состояния).

Значения /styles.xml

<style name="FullScreenEffectTheme" parent="Theme.AppCompat.NoActionBar">
    <!-- ... -->
</style>

Значения-V19/styles.xml

<style name="FullScreenEffectTheme">
    <!-- StatusBar -->
    <item name="android:statusBarColor">@android:color/transparent</item>
    <!-- NavigationBar -->
    <item name="android:navigationBarColor">@android:color/transparent</item>
</style>

В коде установлены флаги:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    getWindow().getDecorView().setSystemUiVisibility(
         View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
         View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
}

Не забудьте настроить этот стиль на активность:)

Затем вам нужно добавить отступ или пробел к макету.

Важное замечание: Если вы хотите, чтобы у телефонов была горизонтальная ориентация, полупрозрачная навигационная панель вызывает неприятные проблемы, и в этом случае вам следует отключить эту функцию. Я решил это так, как объяснил Таннер Перриен.

Другие вопросы по тегам