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

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

Как на изображении ниже:

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


person Pankaj    schedule 20.12.2015    source источник


Ответы (1)


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

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

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

values-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);
}

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

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

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

person paulina_glab    schedule 20.12.2015
comment
У меня есть фоновое изображение на панели навигации по вашему методу, но проблема в том, что в нижнем колонтитуле есть прозрачная черная полоса, как я могу удалить то, что вы не видите на изображении, которое я разместил - person Pankaj; 20.12.2015
comment
Проверь сейчас. Обратите внимание, что я удалил два элемента стиля. - person paulina_glab; 20.12.2015