android edittext与软件盘冲突的解决办法

沉浸式使用 ImmersionBar

 ImmersionBar.with(this)
                .fitsSystemWindows(true)
                .statusBarColor(color)
                .init();

原先使用

 ImmersionBar.with(this)
                        .statusBarDarkFont(true)   //状态栏字体是深色,不写默认为亮色
                        .titleBar(titleView)
                        .init();

讲一下我的问题 :

        activity里面嵌套了三个fragment 在第一个fragment里面的布局底部有一个输入框 按照道理来说应该点击输入框弹起软件盘之后 整个页面都需要向上滚动 但是很可惜 并没有 如下图 弹起之后

           

一般此问题解决方案

根布局加入此属性 并且用scrollview包裹可自行滚动

android:fitsSystemWindows="true"

清单文件 相对应的activity加入此属性

android:windowSoftInputMode="adjustResize"

方可解决问题

ImmersionBar 框架

此框架中我使用的是布局中加入0dpview进行状态栏适配  如下

 activity设置如下:

 ImmersionBar.with(this)
                        .titleBar(titleView)
                        .init();

这样写就不能再布局中加入 android:fitsSystemWindows="true" 此属性 

加入此属性之后状态栏会向下多余出来一部分   如下图

最后的解决办法为:

根布局加入

android:fitsSystemWindows="true" 

还有一点就是 ,如果在布局的底部还有布局被顶起来遮盖了editext 请使用线性布局,使用权重分开 (我的解决办法,记录)

清单文件对应的activity加入//暂时 不要加

android:windowSoftInputMode="adjustResize"

最后activity页面加入

 ImmersionBar.with(this)
                .fitsSystemWindows(true)
                .statusBarColor(R.color.titlebar_827_color)
                .init();

目前我的问题已经解决 但是项目中涉及此问题较多,所以暂不解决 记录笔记进行备忘

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值