android基础知识---重写软键盘回车的点击事件
16lz
2021-01-24
实现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键被按下,就可以编写自己事件响应功能了。
这里没什么好说的给出代码
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <EditText android:layout_width="match_parent" android:layout_height="50dp" android:id="@+id/text_context" android:imeOptions="actionDone"/>LinearLayout>
private EditText text_context; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.print_activity_layout); text_context=(EditText)findViewById(R.id.text_context); text_context.setOnKeyListener(onKey); } View.OnKeyListener onKey= new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent keyEvent) { 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; } } ;}
最后tip一下,把EditText的Ime Options属性设置成不同的值,Enter键上可以显示不同的文字或图案
actionNone : 回车键,按下后光标到下一行
actionGo : Go,
actionSearch : 一个放大镜
actionSend : Send
actionNext : Next
actionDone : Done,隐藏软键盘,即使不是最后一个文本输入框
更多相关文章
- Android软键盘弹出时的界面控制方法
- 利用monkey测试android,入门级用户可能遇见的错误及解决办法
- [转]: 两分钟彻底让你明白Android(安卓)Activity生命周期(图文)!
- Android——UI篇:RecyclerView设置点击效果无效的解决办法和item
- Launcher桌面点击&长按&拖动事件处理流程分析
- Monkey测试简介
- ListView的item点击事件及item中子view的点击事件冲突处理方法和
- Android(安卓)问题积累
- android 弹出软键盘将底部视图顶起问题