1 属性
属性 | 说明 |
---|---|
android:lines=”8” | 最多8行 |
android:maxLength=”70” | 最多70个汉字或数字或字母 |
android:gravity=”top” | hint“提示文本”所在的位置 |
maxLength:如何设置最大输入数量,最大个数(汉字、数字、字母,都是1个单位)
android:lines="8"
android:maxLength="70"
android:gravity="top"
2 android:windowSoftInputMode=‘’
各值的含义:
【A】stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置
【B】stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示
【C】stateHidden:用户选择activity时,软键盘总是被隐藏
【D】stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的
【E】stateVisible:软键盘通常是可见的
【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态
【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示
【H】adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间
【I】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分
如果该Activity有EditText
而且含有ScrollView
等可滑动的组件,那么默认弹出软键盘并把布局顶上去,那么怎么不让软键盘把布局顶上去,当我们自己手动点击EditText
时才打开软键盘呢?
android:screenOrientation="portrait"
Android 软键盘控制方法、以及开发中遇到的一些问题全套解决方案
edittext不自动获取焦点
在edittext的父布局中加入:(记住是在父布局中添加,而不是给EditText添加)
android:focusable="true"
android:focusableInTouchMode="true"
这样就可以截取edittext的焦点了。
隐藏软键盘
InputMethodManager imm = (InputMethodManager) PaoApplication.getInstance().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0) ;
setFocusable(false)后重新获取焦点setFocusable(true)无效
需要如下代码:
setFocusable(true);
setFocusableInTouchMode(true);
requestFocus();
findFocus();