Intereting Posts
Android – открыть целевые _blank ссылки в WebView с внешним браузером Как распечатать запрос, выполненный методом query () для android IllegalStateException: PagerAdapter приложения изменил содержимое адаптера, не вызывая PagerAdapter # notifyDataSetChanged Обнаружение силовой атаки приложения Android Объект пользовательского интерфейса, созданный с помощью XML, не обрабатывается в Android Marshmallow Android: поворот изображения в режиме просмотра изображения под углом Какая лучшая среда разработки для разработки приложений для Android? Исключить исключение указателя при импорте шрифта в android Транзитные зависимости не разрешены для aar-библиотеки с использованием gradle Как вернуть результат (startActivityForResult) из TabHost Activity? Требуется Gradle версия 1.10. Текущая версия 2.0 Андроид просматривает намерение файла с определенным расширением Android: выход из приложения при нажатии кнопки возврата Android LogCat Filter для нескольких тегов в Eclipse Как запустить Android-сервис при запуске приложения?

Могу ли я установить FLAG_LAYOUT_NO_LIMITS только для строки состояния?

Мне нужно сделать прозрачную строку состояния. Я использую getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS) и это строка состояния, как я хочу. Но это также влияет на панель навигации: она стала прозрачной и getWindow().setNavigationBarColor(Color.BLACK) ничего не делает.

Есть ли способ сделать прозрачную строку статуса, а не панель навигации?

Solutions Collecting From Web of "Могу ли я установить FLAG_LAYOUT_NO_LIMITS только для строки состояния?"

 getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN); getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); 

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

 WindowManager.LayoutParams attributes = getWindow().getAttributes(); attributes.flags |= WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS; getWindow().setAttributes(attributes); 

И для показа навигационной панели снова используйте это

  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { getWindow().setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); } 

Для меня серый цвет, возможно, вы можете заставить его на свой основной цвет

Yes, Вы можете использовать этот код в Style.xml

 <style name="transparent" parent="Theme.AppCompat.Light">//AppCompat is the key; You can choose any other theme than the light-theme, but stick to AppCompat <item name="colorPrimaryDark">#00000000</item>//THIS is the important part. //Other styling(optional) </style> 

Затем, чтобы применить его к макету, просто добавьте следующую строку в корневой макет (представление):

 android:theme="@style/transparent" 

Я нашел решение bro

 <style name="transparent" parent="Theme.AppCompat.Light.NoActionBar">//AppCompat is the key; You can choose any other theme than the light-theme, but stick to AppCompat <item name="android:windowTranslucentStatus">false</item> <item name="android:windowDrawsSystemBarBackgrounds">false</item> //Other styling(optional) </style> 

А затем примените эту прозрачную тему к проявлению активности как это

  <activity ... android:theme="@style/transparent"/>