Intereting Posts
Picasso java.lang.IllegalStateException: вызов метода не должен происходить из основного потока Избегайте перезагрузки с помощью asynctask при изменении ориентации в android Хотите скомпилировать родной Android-бинар, я могу запускать в терминале по телефону Программно изменить ширину кнопки в android Библиотека поддержки ListFragment GetSupportFragmentManager undefined Как использовать построитель запросов ORMLite для получения итоговых записей в таблице Эмуляция на основе хоста с фиксированным идентификатором карты Преобразование JSONArray в String Array Застрял в «Сброс памяти, приложение замерзнет. Brrr. "Сообщение Android «Устройство с включенной отладкой» не отображается на Eclipse Страница входа в систему Google OAuth «отменить» и «принять» не активирована с 22 августа Android SyncAdapter с помощью учетной записи google Как получить точность GPS в Android Как показать зарегистрированный символ Ⓡ или товарного знака в диалоговом окне? 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"/>