软键盘设置
来源:互联网 发布:华为云计算调研报告 编辑:程序博客网 时间:2024/05/17 10:26
"EditText + Button" 形成一个"输入+按键响应" 的案例在android编程中是最常见不过的了。但还有一些细节需要注意:
在EditText输入后,不点击Button进行请求,而是直接点击软键盘上的"回车",那么也应该能够正常响应请求;
针对问题1,可以在响应Button的onClick事件中,主动将软键盘隐藏,加入如下代码即可
[java]
InputMethodManager imm =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);
针对问题2,可以在EditText的api doc中找到答案
void android.widget.TextView.setOnEditorActionListener(OnEditorActionListener l)
Set a special listener to be called when an action is performed on the text view. This will be called when the enter key is pressed, or when an action supplied to the IME is selected by the user. Setting this means that the normal hard key event will not insert a newline into the text view, even if it is multi-line; holding down the ALT modifier will, however, allow the user to insert a newline character.
Parameters:
因此,只需要给EditText设置一个onEditorActionListener就好了,简单示例如下
[java]
// The action listener for the EditText widget, to listen for the return key
private TextView.OnEditorActionListener mWriteListener =
new TextView.OnEditorActionListener() {
public boolean onEditorAction(TextView view, int actionId, KeyEvent event) {
// If the action is a key-up event on the return key, send the message
if (actionId == EditorInfo.IME_NULL && event.getAction() == KeyEvent.ACTION_UP) {
String message = view.getText().toString();
sendMessage(message);
}
if(D) Log.i(TAG, "END onEditorAction");
return true;
}
};
备注一下:TextView.OnEditorActionListener接口方法onEditorAction方法的第二个参数actionId,其可能的值在EditorInfo的说明中能够找到。列举如下
IME_ACTION_DONE
IME_ACTION_GO
IME_ACTION_NEXT
IME_ACTION_NONE
IME_ACTION_PREVIOUS
IME_ACTION_SEARCH
IME_ACTION_SEND
IME_ACTION_UNSPECIFIED
android 键盘关闭/显示
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);//得到InputMethodManager的实例
if (imm.isActive()) {
//如果开启
imm.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT, InputMethodManager.HIDE_NOT_ALWAYS);
//关闭软键盘,开启方法相同,这个方法是切换开启与关闭状态的
}
------------------------------------------
//隐藏软键盘-可行
int flags = WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM;
getWindow().addFlags(flags);
--------------------------------------------
在onclick事件下.以下方法可行.(如果是EditText失去焦点/得到焦点,没有效果)
InputMethodManager im = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
im.hideSoftInputFromWindow(getCurrentFocus().getApplicationWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
0 0
- 软键盘设置
- 设置软键盘
- Android软键盘设置
- 软键盘设置
- android 软键盘设置
- android 软键盘设置
- 设置软键盘显示状态
- android设置隐藏软键盘
- android:windowSoftInputMode(软键盘设置)
- Android中软键盘设置
- windowSoftInputMode软键盘的设置
- Window mobile 软键盘输入法设置
- iphone 软键盘设置参数说明
- 设置软键盘弹出时覆盖Activity
- android设置自动弹出软键盘
- android edittext设置软键盘按钮事件
- Android学习之软键盘设置相关
- 手势隐藏软键盘&设置UISearchBar
- http://www.cnblogs.com/fish-li/archive/2013/05/05/3061816.html
- UVa 10161 Ant on a Chessboard
- 关于在UIViewController页面用代码添加UINavigationBar的方法
- 视频系统支持国内外100多个视频网站解析去广告播放
- Wifi有戏:宿舍变身小影院
- 软键盘设置
- RGB和RGBQUAD的区别
- Oracle学习2
- ServletActionContext VS ActionContext
- Swift入门教程
- addLog(Log log) 打日志的方法
- 关于主工程和library project
- iOS 字典中遍历出的key 如何进行排序
- java正则