Как скрыть строку состояния и панель навигации с помощью Theme.MaterialComponents - PullRequest
0 голосов
/ 02 октября 2019

У меня есть некоторые проблемы, чтобы скрыть статус и панель навигации в приложении.

Допущения:

  • использовать lib com.google.android.material: материал: 1.1.0-alpha10
  • использовать стиль Theme.MaterialComponents.Light.NoActionBar

Решения типа

window.apply {
      clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
       addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
       if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
        } else {
            decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
        }
        statusBarColor = Color.TRANSPARENT
}

Не работает должным образом

1 Ответ

0 голосов
/ 02 октября 2019
  1. Создать новую тему в styles.xml:
 <style name="AppTheme.NoActionBar" parent="Theme.MaterialComponents.Light.NoActionBar">
    <item name="android:windowBackground">@color/white</item>
    <item name="windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="windowNoTitle">true</item>
</style>
Примените эту тему в манифесте (для желаемой активности)
<activity
    android:name=".SearchActivity"
    android:label="Text"
    android:theme="@style/AppTheme.NoActionBar" />
...