EditText被遮挡底部问题

2018-07-10  本文已影响80人  coffeeteas

https://blog.csdn.net/xiaoguda1/article/details/52084248

遇到EditText被软件盘遮挡底部一部分的问题,能显示文字但是EditText被遮挡了一部分,解决方式记录下 

1、EditText高度改成wrap_content,利用padding扩展EditText高度 

2、利用windowSoftInputMode配合ScrollView解决 

3、自定义EditText layerlist布局解决 

4、监听View的高度变化,改变布局

1.问题描述:

   项目中某个布局文件(布局相当复杂)添加EditText输入框,在清单文件对应activity中设置属性   android:windowSoftInputMode="adjustResize"  ,弹出软件盘不存在遮盖问题。但是一旦给这个EditText设置背景之后就会出现EditText底部被遮盖的情况。如下图:

目前还没有找到原因。但是自己写demo时就不会出现遮盖的情况。

2.解决办法:

设置EditText的layer-list  xml背景,如下:

原理:

EditText设置2层背景,底层背景正常大小,第二层背景设置 bottom = 10dp使第二层背景距离底部10dp,从而第二层背景不在被遮盖。

效果图如下:

最后:打完收工。

-------------以下内容为2018.05.21更新-----------------

很长时间过去了,又找到了一个方法防止键盘覆盖EditText底部一点点。

在res/drawable下创建 InsertDrawble bg.xml

android:drawable="@color/transparent"//被包裹的背景

android:insetLeft="0dp"//距离昨天的距离

android:insetRight="0dp"//距离右边的距离

android:insetTop="10dp"//距离上面的距离

    android:insetBottom="10dp"//距离底部的距离

添加完drawable文件之后写个布局文件里面看下效果

效果对比:

图一:EditText去除默认的背景之后,键盘紧挨着光标

图二:设置了InsertDrawable之后 可以看到键盘的顶部和EditText文字(以及光标)的底部有了一定的距离

OK.解决了。

上一篇 下一篇

猜你喜欢

热点阅读