EditText遮挡部分键盘(神奇大招)
2016-07-29 本文已影响1920人
heavenxue
我们如果用到了EditText,一般情况下如果你的EditText`在手机屏幕的下半部分(因为如果你的EditText在屏幕上方,键盘也不会遮住,键盘高度也就是占屏幕的一半左右),那么当你调起键盘的时候,键盘会遮住EditText的一小部分。
解决方案:
1、EditText利用默认的样式,或是自己设置了一个图片的背景,那么android:windowSoftInputMode="adjustResize" 这个方法基本完全就可以搞定,当然Activity与键盘的交互模式还有其他许多种,他们的属性,在这里就不一一列出了,可以自行google
ps : 当然为了配合布局调整好看,适当时候配合ScrollView使用
2、EditText自定义了一个layerlist布局,这时候,你要把最上面一层给与键盘之间留出空隙来,代码如下:
3、如果你想自定义EditText与键盘之间的距离,那么你就可以用一下的方法
思路:我们要见监听键盘弹起的事件,当弹起来的时候,我们让被ScrollView包裹的EditText整体上移
思路是很简单,那么我们怎么监听键盘的弹起事件呢,搜查网络上有一些方法,用到onconfigurationChanged这个方法,这个方法根本不会调起键盘,所以我们思考下,知道当键盘调起的时候,会重新onMeasure,onResize,onLayout,相当于重划了布局,所以,由此。我们可以重自定义包裹了EditText的ScrollView,如下:
因为重化了布局,那么键盘弹出,高度肯定变大了,所以有了个大约值判断高度,说明键盘弹起,那么我们就可以让包含EditText的布局整体上调了,如下:
最后效果图: