Android中的状态栏覆盖操作栏
Posted
技术标签:
【中文标题】Android中的状态栏覆盖操作栏【英文标题】:Status bar cover action bar in Android 【发布时间】:2016-12-21 12:56:39 【问题描述】:我希望我的状态栏是透明的并与操作栏颜色相匹配。但是对于不同的活动,我的操作栏有不同的颜色,所以我的状态栏不能使用“colorPrimaryDark”。如何做到这一点?
v21\styles.xml
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimaryDark">@android:color/transparent</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:windowTranslucentStatus">true</item>
</style>
<style name="AppTheme.NoActionBar">
<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>
Activity 有“android:fitsSystemWindows="false"”
这就是我所拥有的 这就是我想要的
操作栏中的其他颜色相同。
有什么帮助吗?
【问题讨论】:
Activities has "android:fitsSystemWindows="false""
为什么?
如果 "android:fitsSystemWindows="true"" 则状态栏是透明的,后面是白色的
【参考方案1】:
这是正常行为 - 此命令适用于当您想要一张无法在状态栏后面拉伸的图片(如 here)的用例。解决方案-
1.我认为从图片中只需更改状态栏颜色即可:
<item name="android:statusBarColor">@android:color/Red</item>
2。将操作栏的高度增加 25dp(状态栏高度)。
【讨论】:
1.更改每个活动的状态栏颜色? 2. 布局文件的高度不能增加,因为不同的屏幕尺寸状态栏高度不同 1.将适用于所有活动,因为对于所有活动,如果您在应用程序中使用一个主题,如果不是,您可以从应用程序继承您的外观,其中包含“android:statusBarColor”。 2. 也适用于所有手机设备,因为它是 dp(根据设备更改大小)。 @Ossir以上是关于Android中的状态栏覆盖操作栏的主要内容,如果未能解决你的问题,请参考以下文章
android沉浸式状态栏变色状态栏透明状态栏修改状态栏颜色及透明
如何设置drawer layout覆盖状态栏之上 android