4

以下是它的外观。 transparent navigation bar键盘打开时导航栏变为透明

这里是细节。 我有没有背景的活动。但这不是问题。无论是在主题或代码中设置背景可绘制还是颜色都解决了问题。

活动具有软输入模式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上重现它。在其他设备上,我尝试导航栏显示充满颜色。

+0

由于它只出现在一个设备上,您可能正在查看固件错误。虽然它是一个Nexus的事实使得它不太可能。 –

+0

我试过Nexus 6P仿真器,效果相同。也许它是所有的nexus手机。带有Android 6的Nexus 7在底部有黑色导航栏。不透明。 – Asimaruk

+0

嗯,但Nexus手机具有“正确”的实现,所以你的代码一定有问题,但恐怕我不能帮你。编辑:或者也许它是有意图的功能。虽然不太可能。 –

回答

0

今天我的问题完全一样。在我的情况下,这是因为我的活动使用的主题是从Theme.AppCompat.NoActionBar派生的主题。问题不在自定义主题中,但显然是AppCompat库中的问题。当我将自定义样式的父级更改为:@android:style/Theme.NoTitleBar.Fullscreen时,它开始显示纯黑色背景色,这比透明色更受欢迎。我同意这看起来像一个小故障。

我希望这将有助于未来的人,因为我知道这是一个迟到的答案。