问题描述:
最新在做个项目,需要用到原生一些特性,为了方便控制,所以选择了原生集H5+SDK。集成过程完全参照官方,但集成之后发现个问题,当有输入焦点的时候,弹出的软键盘会直接遮挡输入,这样体验非常不好,开始觉得可能是设置问题,但使用HBuilder官方基座打包,弹出的软键盘是不会出现遮挡的。所以分析,应该跟我们自己的原生部分有关系,所以集中方向就从我们原生代码去解决。
解决方法:
通过网上找资料,可设置 fitsSystemWindows=true 和 android:windowSoftInputMode="adjustResize" ,设置之后是可以终于解决问题了,但是新的问题又来了,你会发现界面顶部默认会多出一个状态栏高度的空隙,看起来非常不爽。
就这个新问题找了很多方法要去掉都不行,觉得自己是不是方向弄错了,最后仔细想了下,其实面对这个问题可以换个方式,去不掉这个留白,但是不是我们让整个界面上移一个状态栏高度,达到解决的目的呢。
最终尝试在root view下添加 android:layout_marginTop="-25dp" ,最后真的解决。 折腾了一个上午终于解决了,很激动。
希望分享这次经验可以帮到遇到同样问题的朋友,同时如果大家还有更好的方式,也请多多分享下,谢谢~
总结:
1、rootview中添加属性 fitsSystemWindows=true
2、 AndroidManifest.xml 中添加 android:windowSoftInputMode="adjustResize"
3、rootview 布局添加 android:layout_marginTop="-25dp"
0 个评论
要回复文章请先登录或注册