"EditText + Button" 形成一个 "输入+按键响应" 的案例在android编程中是最常见不过的了。
但还有一些细节需要注意:
- 在EditText输入后,点击Button进行请求,软键盘应该自行消失
- 在EditText输入后,不点击Button进行请求,而是直接点击软键盘上的"回车",那么也应该能够正常响应请求
针对问题1,可以在响应Button的onClick事件中,主动将软键盘隐藏,加入如下代码即可
InputMethodManager imm =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);
针对问题2,可以在EditText的api doc中找到答案
void android.widget..setOnEditorActionListener( 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:
l
因此,只需要给EditText设置一个onEditorActionListener就好了,简单示例如下
// 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 底部控件随软键盘弹出而上移demo
Android高级应用源码-android解决软键盘遮挡输入框的示例代码.rar
android 软键盘隐藏 inputmethod 控制 edittext Android是一个针对触摸屏专门设计的操作系统,当点击编辑框,系统自动为用户弹出软键盘,以便用户进行输入。 那么,弹出软键盘后必然会造成原有布局高度的减少,...
主要介绍了Android软键盘弹出时的界面控制方法,结合实例形式分析了Android软键盘弹出后的三种模式,涉及Android针对AndroidManifet.xml的修改技巧,需要的朋友可以参考下
拿到这个需求的第一反应就是写一个监听来监听键盘的显示和隐藏来控制输入框的显示和隐藏,控制文本框中的内容。 所以我做了如下操作: 指定android:windowSoftInputMode=”adjustResize|stateAlwaysHidden”这个的...
本文实例分析了Android编程之软键盘的隐藏显示方法。分享给大家供大家参考,具体如下: Android是一个针对触摸屏专门设计的操作系统,当点击编辑框,系统自动为用户弹出软键盘,以便用户进行输入。 那么,弹出软键盘...
android 软件盘的变化监听,监听软键盘在不同手机中的高度,动态控制布局的的高度.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Android软键盘显示模式: Android定义了一个属性,名字为windowSoftInputMode, 用它可以让程序可以控制活动主窗口调整的方式。我们可以在AndroidManifet.xml中对Activity进行设置。如:android:...
Android背光控制 android 软键盘研究成果(默认弹出和按钮点出)
系统输入法弹出方式.当输入内容时输入框被系统键盘遮挡了,影响了用户操作体验,这就是开发中非常常见的软键盘遮挡的问题,该如何解决?下码来看吧
一、软键盘显示的原理 软件盘的本质是什么?软键盘其实是一个Dialog!... android定义了一个属性,名字为windowSoftInputMode, 用它可以让程序可以控制活动主窗口调整的方式。我们可以在AndroidManifet.xml中对Activ
//3、如果需要控制输入框的显示与隐藏,可以实现OnInputViewVisibleListener接口; public class SoftInputAdjustLayout extends RelativeLayout { private static final String TAG = SoftInputAdjustLayout.class...
Android 实现全屏模式下软键盘监听 解决全屏模式设置softinputmode 失效问题(监听软键盘主动控制view状态以适配键盘弹出策略)
相信大家都清楚,Google 官方提供给开发者控制软键盘显示隐藏的方法不多,「windowSoftInputMode」算是我们可控制的软键盘弹出模式的方法之一。关于其属性的说明Google 官方和网上的教程说了很多,他的属性值由两...
Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。 Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 ...
1.5.3 硬键盘和软键盘 8 1.6 android 开发 8 1.6.1 如何使用本书中的秘诀 8 .1.6.2 好好设计应用程序 9 1.6.3 保持向前兼容 9 1.6.4 健壮性 10 1.7 软件开发工具包 10 1.7.1 安装与更新 10 1.7.2 软件特性和...
NavigationViewHelper- 一个快速实现虚拟导航栏控制及底部软键盘控制帮助类库 简介: 一个Android项目中不常使用(国内就华为有)的虚拟导航栏控制帮助类.有问题欢迎issue。 后续版本迁移至维护不再做更新 主要功能 ...