Intereting Posts
Не получать смс, даже если установить самый высокий приоритет и установить первый Как создать автономный GO для Wifi Direct в Android с выделенной ssid и кодовой фразой? Отображение вертикальной полосы прокрутки Как я могу внести вклад в проект Android по поддержке / рендерингу неанглийского языка? Как правильно восстановить состояние представления после поворота Как сохранить положение прокрутки в ExpandableListView Сообщения о дублировании облачных сообщений Firebase Отменить диалог отклонения () с помощью новой функции AlphaAnimation Получение часового пояса в android Android In-App Purchase Запросить Exchange Web Services 2007/2010 с SOAP + XML через HTTPS на Android Исключение безопасности Android при доступе к контактам Лучший способ избежать дублирования кода, если два класса, расширяющие разные классы Как использовать внешнюю банку в проекте Android в NetBeans? AndEngine: столкновение двух спрайтов

Могу ли я установить 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"/>