我试图通过使用
使状态栏透明
真正
状态栏显示透明,但问题是状态栏上的工具栏叠加。工具栏是半可见的状态栏后面。我用真的解决了这个问题
但状态栏显示为灰色而不是我设置的主要颜色。怎么了?
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/primary_500</item>
<item name="colorPrimaryDark">@color/primary_700</item>
<item name="android:windowActionBarOverlay">true</item>
<item name="android:fitsSystemWindows">true</item>
<item name="windowNoTitle">true</item>
<item name="android:windowTranslucentStatus">true</item>
</style>
这是我的主题
答案 0 :(得分:0)
这是因为您还指定了<item name="android:fitsSystemWindows">true</item>
,告诉Android您要自己处理系统UI(例如状态栏)。
如果删除该元素,您会发现工具栏位于状态栏下方。
如果您出于某种原因,则需要更新布局以实际考虑状态栏。
答案 1 :(得分:0)
请检查此链接我已经回答了类似的问题您可以将statusBar颜色设置为透明
答案 2 :(得分:-1)
在Styles-v21中添加尺寸为25dp且样式为0dp 您必须添加额外的布局,并将该维度作为工具栏上方的高度以及所需的颜色。
My Styles.xml
<style name="AppTheme.MovieDetails" parent="AppTheme.Base">
<!-- Customize your theme here. -->
<item name="android:textColorPrimary">@android:color/white</item>
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
<item name="android:windowTranslucentStatus" tools:targetApi="21">true</item>
<item name="android:windowContentOverlay">@null</item>
<!-- Toolbar Theme / Apply background_with_ripple arrow -->
<item name="colorControlNormal">@android:color/white</item>
<item name="actionBarTheme">@style/AppTheme.ActionBarTheme</item>
<!-- Material Theme -->
<item name="android:navigationBarColor" tools:targetApi="21">@color/navigationBarColor
</item>
<item name="android:windowDrawsSystemBarBackgrounds" tools:targetApi="21">true</item>
</style>