您的位置:首页 > 产品设计 > UI/UE

关于透明状态栏下的fitsystemwindows=“true”属性

2016-10-20 11:24 525 查看
fitsSystemWindows 是在 android 4.4 中引入的。 System windows 顾名思义就是系统窗口,比如
最上方的状态栏,以及最下方的虚拟导航栏,我原本以为也只是状态栏与导航栏,可某一次的使用中却出现了如下图的情况




图一是正常情况下的效果,也就是我们想要的效果,但当呼出输入法后,就出现了图二的这种情况,从图中可以看出来,是fitsystemwindows不仅在上部padding出了一个状态栏的高度,还在下部padding出了输入法窗口的高度,由此看来fitsystemwindows不仅只作用于状态栏与导航栏,至少还包括输入法。所以对于可能会调出输入法的界面还是慎用fitsystemwindows=true这条属性,当然也并不是所有调出输入法的界面都会出现图二这种情况,我这里是只有部分界面会这样,造成这种差异的具体原因我也还没明白,有懂的大神麻烦告知一下!
我目前是用下面方法替换fitsystemwindows达到理想的效果

/**
* padding出顶部状态栏高度
*
* @param ids 顶部控件id
*/
public View paddingTitle(int ids) {
View mView = findViewById(ids);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && mView != null) {
mView.setPadding(0, DRAppUtil.getInstance().getStatusBarHeight(this), 0, mView.getPaddingBottom());
}
return mView;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐