4

这是它的外观。 透明导航栏

以下是详细信息。我有没有背景的活动。但这不是问题。在主题或代码中设置背景可绘制或颜色均未解决问题。

Activity 有软输入模式adjustPan|stateAlwaysHidden

我还在代码中为活动的装饰视图设置了这些标志

View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
        | View.SYSTEM_UI_FLAG_FULLSCREEN
        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
        | View.SYSTEM_UI_FLAG_LAYOUT_STABLE
        | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY

我尝试在这样的主题中为导航栏显式设置颜色

<item name="android:navigationBarColor" tools:targetApi="lollipop">@color/chat_bg</item>
<item name="android:windowDrawsSystemBarBackgrounds" tools:targetApi="lollipop">true</item>

但没有成功(

我只能在我的 LG Nexus 5X 上重现它。在我尝试过的其他设备上,导航栏看起来充满了颜色。

4

2 回答 2

0

我今天遇到了完全相同的问题。在我的情况下,这是因为我的 Activity 使用的主题是源自:Theme.AppCompat.NoActionBar. 问题不在于自定义主题,而显然是来自 AppCompat 库的问题。当我将自定义样式的父级更改为:@android:style/Theme.NoTitleBar.Fullscreen它开始以纯黑色背景颜色显示,这比透明更理想。我同意这看起来像一个小故障。

我希望这对将来的某人有所帮助,因为我知道这是一个迟到的答案。

于 2016-08-04T12:59:55.007 回答
0

我很久以前就找到了这个解决方案。也许这对你现在有帮助

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
}
于 2020-11-25T15:39:43.870 回答