现象描述
- 问题应该出现在5.0 Lollipop版本及以上
- 遮挡的现象如下图,Navigation Bar位于了PopupWindow的上层,明显是一种问题。
其实和具体的实现代码没有关系,重点是修改主题style。
修改style
修改v21/styles.xml(如没有,可以创建),将
android:windowDrawsSystemBarBackgrounds
修改为
false
。
< style name= "AppTheme.NoActionBar">
< item name= "windowActionBar">false</ item>
< item name= "windowNoTitle">true</ item>
< item name= "android:windowDrawsSystemBarBackgrounds">false</ item>
< item name= "android:statusBarColor">@android:color/transparent</ item>
</style>
修改好的效果
更佳的方法
感谢来自Github的网友提出了一个更优秀的方案。很简单,设置如下代码即可
popupWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
注意:这个方法不会影响到状态栏的颜色改变