shangbolei 2015-11-24
AndroidSDK目前提供的软键盘弹出模式接口只有两种:
一是弹出时自动回冲界面,将所有元素上顶,
一种则是不重绘界面,直接将控件元素遮住,
没有其他模式,如果想实现其他效果,光使用系统接口是不行的。
解决方法:
第一步:给想要被顶上去的内容嵌套一个ScrollView:
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:scrollbars="none"
>
……想要被顶上去的内容……
</ScrollView>
第二步:在文件中给对应的Activity设置android:windowSoftInputMode="adjustResize"
一些机型到这里问题就已经解决了!
有些机型会出现点击过EditView它获得了焦点也弹出了软键盘,
但是收回软键盘后,再点击该EditView会出现被软键盘遮挡的情况,
点其它EditView后,再来点该EditView又恢复正常不再被遮挡,
为了解决此问题见如下:
第三步:
发现去掉ScrollView的android:scrollbars="none"属性后问题就解决了!
但会出现滚动条,所以这个属性不能去掉,
只需在Activity的onCreate事件处理函数中的setContentView方法后紧跟着写上
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
即可解决此问题!
用户邮箱,应当只允许输入英文字母,数字和@.两个符号,用户手机,应当只能输入数字,禁止输入其他字符。用户密码,应当不能输入空格以及中文字符等。这里列举上述三种场景下的android:digits配置。