2015-12-07 1 views
1

Я хочу создать полупрозрачную панель на android.here мой стиль кода Andé манифеста настройки:Полупрозрачные Bars не работает на Android

<resources> 

<!-- Base application theme. --> 
<style name="MyAppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
</style> 

<style name="MyAppTheme.NoActionBar"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
</style> 

<style name="MyAppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" > 
</style> 

<style name="MyAppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> 

на уровне апи до 21, у меня есть стиль, как:

<resources> 

<style name="MyAppTheme.NoActionBar" parent="MyAppTheme"> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
    <item name="android:windowDrawsSystemBarBackgrounds">true</item> 
    <item name="android:statusBarColor">@android:color/transparent</item> 
</style> 

Тогда в моем манифесте я эти настройки:

<?xml version="1.0" encoding="utf-8"?> 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/MyAppTheme"> 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/title_activity_main" 
     android:theme="@style/MyAppTheme.NoActionBar"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 
      <category android:name="android.intent.category.LAUNCHER"/> 
     </intent-filter> 
    </activity> 
</application> 

затем я запустить его на устройстве с уровнем апи 23, я получил это: enter image description here

статус бар фон не установлен colorPrimaryDark, который определенно не белый. Зачем?

ответ

0

Вместо изменения цвета строки состояния вы должны установить флаг windowTranslucentStatus в своей теме. Изменить это:

<item name="android:statusBarColor">@android:color/transparent</item> 

к этому:

<item name=”android:windowTranslucentStatus”>true</item> 
+0

Когда я установить windowTranslucentStatus, изменение строки состояния серый, который не то, что я ожидал. – staky

+0

, потому что вам нужно вручную установить цвет за панель состояния в темное место в макете и удалить отступ строки состояния, чтобы ваше приложение также рисовалось по строке состояния. Или установите цвет строки состояния в colorPrimaryDark (он не будет полупрозрачным) – Zielony

 Смежные вопросы

  • Нет связанных вопросов^_^