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

来源:互联网 发布:软件不兼容是什么意思 编辑:程序博客网 时间:2024/05/17 02:51

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;}

0 0
原创粉丝点击