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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值