android软键盘回车键的点击事件处理
来源:互联网 发布:网络犯罪调查第二季 编辑:程序博客网 时间:2024/06/05 22:39
原文地址:http://blog.csdn.net/liuxiit/article/details/6903884
实现android按下回车键便隐藏输入键盘,有两种方法:
1.)如果布局是多个EditText,为每个EditText控件设置android:singleLine=”true”,弹出的软盘输入法中回车键为next,直到最后一个获取焦点后显示为Done,点击Done后,软盘输入键盘便隐藏。或者将EditText的imeOptions属性设置android:imeOptions=”actionDone”,则不管是不是最后一个EditText,点击回车键即隐藏输入法。
2.)监听Enter的事件,编写Enter的事件响应。设置文本框的OnKeyListener,当keyCode ==KeyEvent.KEYCODE_ENTER的时候,表明Enter键被按下,就可以编写自己事件响应功能了。
具体代码:
- package listenter.main;
- import android.app.Activity;
- import android.content.Context;
- import android.os.Bundle;
- import android.view.KeyEvent;
- import android.view.View;
- import android.view.View.OnKeyListener;
- import android.view.inputmethod.InputMethodManager;
- import android.widget.EditText;
- public class EnterListenter extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- EditText password=(EditText)findViewById(R.id.password);
- password.setOnKeyListener(onKey);
- }
- OnKeyListener onKey=new OnKeyListener() {
- @Override
- public boolean onKey(View v, int keyCode, KeyEvent event) {
- // TODO Auto-generated method stub
- if(keyCode == KeyEvent.KEYCODE_ENTER){
- InputMethodManager imm = (InputMethodManager)v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
- if(imm.isActive()){
- imm.hideSoftInputFromWindow(v.getApplicationWindowToken(), 0 );
- }
- return true;
- }
- return false;
- }
- };
- }
图-1 点击回车键隐藏键盘
PS:
把EditText的Ime Options属性设置成不同的值,Enter键上可以显示不同的文字或图案
actionNone : 回车键,按下后光标到下一行
actionGo : Go,
actionSearch : 一个放大镜
actionSend : Send
actionNext : Next
actionDone : Done,隐藏软键盘,即使不是最后一个文本输入框
================================================
SDK升级到1.5以后,当文本输入框(EditText及其子类)获得焦点后,会弹出系统自带的软键盘
为了实现一些自定义的功能,就稍微研究了下
* 当layout中有多个EditText,把每个控件的android:singleLine的属性都被设置成true的情况下,软键盘的Enter键上 的文字会变成“Next”,按下后下个EditText会自动获得焦点(实现了“Next”的功能);当最后一个控件获得焦点的时候,Enter键上的文 字会变成“Done”,按下后软键盘会自动隐藏起来
* 把EditText的Ime Options属性设置成不同的值,Enter键上可以显示不同的文字或图案
actionNone : 回车键,按下后光标到下一行
actionGo : Go,
actionSearch : 一个放大镜
actionSend : Send
actionNext : Next
actionDone : Done,隐藏软键盘,即使不是最后一个文本输入框
示例:
<EditText android:text=""
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:id="@+id/edit1"/>
<EditText android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/edit2"
android:imeOptions="actionSend" //发送
android:inputType="text|textEmailAddress"/>
<EditText android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/edit3"
android:imeOptions="actionDone" //确定
android:inputType="number|numberSigned|numberDecimal"/>
//--------------------------------------------------------------------------------------------------
edit1.setOnEditorActionListener(onEditorActionListener);
edit2.setOnEditorActionListener(onEditorActionListener);
edit3.setOnEditorActionListener(onEditorActionListener);
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
switch(actionId){
case EditorInfo.IME_NULL:
System.out.println("null for default_content: " + v.getText() );
break;
case EditorInfo.IME_ACTION_SEND:
System.out.println("action send for email_content: " + v.getText());
break;
case EditorInfo.IME_ACTION_DONE:
System.out.println("action done for number_content: " + v.getText());
break;
}
return true;
}
};
此效果自定义的一个键盘输入,见附件工程。
- android软键盘回车键的点击事件处理
- android软键盘回车键的点击事件处理
- android修改软键盘的回车键为搜索键以及点击时执行两次监听事件的问题
- android修改软键盘的回车键为搜索键以及点击时执行两次监听事件的问题
- android监听软键盘回车键并且解决默认点击两次的问题
- android软键盘事件处理
- Android中处理软键盘上“回车键”的2种方法
- Android中处理软键盘上“回车键”的2种方法
- android 软键盘回车键捕获
- android基础知识---重写软键盘回车的点击事件
- Android 搜索 把软键盘上的回车键改为搜索
- Android 搜索 把软键盘上的回车键改为搜索
- Android 搜索 把软键盘上的回车键改为搜索
- Android 搜索 把软键盘上的回车键改为搜索
- Android 搜索 把软键盘上的回车键改为搜索
- Android 搜索 把软键盘上的回车键改为搜索
- Android中把软键盘上的回车键改为搜索
- Android 搜索 把软键盘上的回车键改为搜索
- 初学Spring框架day02 2017-11-02
- Java反射获取实际泛型类型参数
- 打印魔方矩阵
- linux下安装软件的常用方法
- [Java] 批处理编译环境
- android软键盘回车键的点击事件处理
- 蓝桥杯 算法提高 夺宝奇兵
- TomTom高精度地图已覆盖全球21个国家38万公里
- 07-图4 哈利·波特的考试(25 分)
- http://blog.csdn.net/tanga842428/article/details/52159757深入浅出理解RPC框架和webservice
- opencv-python绘制图形
- 文件操作,及文件操作时的权限设置,快速实现文件拷贝,C语言常用IO函数
- 210. Course Schedule II
- 洛谷 P2017 [USACO09DEC]晕牛Dizzy Cows