Android 更改键盘Enter键文字

EditText通过设置android:imeOptions来改变默认的文本或者样式。这里举几个常用的常量值:
actionUnspecified  未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED. 
actionNone 没有动作,对应常量EditorInfo.IME_ACTION_NONE
actionGo 去往,对应常量EditorInfo.IME_ACTION_GO
actionSearch 搜索,对应常量EditorInfo.IME_ACTION_SEARCH   
actionSend 发送,对应常量EditorInfo.IME_ACTION_SEND
actionNext 下一个,对应常量EditorInfo.IME_ACTION_NEXT 
actionDone 完成,对应常量EditorInfo.IME_ACTION_DONE

首先:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:orientation="horizontal">

    <EditText
        android:id="@+id/searchHeaderEdit"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:drawableRight="@mipmap/icon_search"
        android:imeOptions="actionSearch"
        android:minWidth="300dp"
        android:paddingLeft="10dp"
        android:singleLine="true"
        android:textColor="@android:color/white"
        android:textSize="18sp" />

</LinearLayout>

其中:

 android:singleLine="true"

这行是必须的,如果不设置单行,设置的imeOptions不会生效的。

然后通过:

mSearchEdit.setOnEditorActionListener(new TextView.OnEditorActionListener() {    
  @Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
    if (actionId == EditorInfo.IME_ACTION_SEARCH  ||(event!=null&&event.getKeyCode()== KeyEvent.KEYCODE_ENTER)){
        if (TextUtils.isEmpty(mSearchEdit.getText())){
            mSearchEdit.requestFocus();
            mSearchEdit.setError("不能为空");
        }else {
            //do reseach
        }

        return true;
    }

    return false;
}
 });

效果如下:

时间: 2024-10-28 23:29:44

Android 更改键盘Enter键文字的相关文章

android软键盘enter键

enter键,回车键,电脑键盘上enter键就有多种响应.android软键盘也不例外 你在EditText上输入以后,想在下一行输入框输入,可能需要去点击下一行输入框,让它获取焦点,也可能要隐藏软键盘,在点击输入框,弹出软键盘. 或者已经到了最后一行输入框,输入完毕以后,要点击登录,注册,或者链接按钮,可能要去隐藏它,感觉操作狠繁琐.用户体验不好,有没有解决办法呢? 其实可以利用软键盘的enter键来解决上面的体验问题. 软键盘,最常用的enter键事件有: 把EditText的Ime Opt

关于android软键盘enter键的替换与事件监听

android软键盘事件监听enter键 软件盘的界面替换只有一个属性android:imeOptions,这个属性的可以取的值有 normal,actionUnspecified,actionNone,actionGo,actionSearch,actionSend,actionNext,actionDone, 例如当值为actionNext时enter键外观变成一个向下箭头,而值为actionDone时enter键外观则变成了“完成”两个字. 我们也可以重写enter的事件,方法如下 Jav

android软键盘Enter键图标的设置

EditText设置属性android:imeOptions="参数" 参数列表: actionUnspecified  未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED.效果:回车箭头 actionNone 没有动作,对应常量EditorInfo.IME_ACTION_NONE 效果:回车箭头 actionGo 去往,对应常量EditorInfo.IME_ACTION_GO 效果:去往(GO) actionSearch 搜索,对应常量EditorIn

android editText 软键盘enter键图标的设置

<EditText android:layout_marginTop="10dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="输入单位" android:layout_marginLeft="10dp" android:layout_marginRight="1

Android虚拟键盘上下左右键按下和弹起的响应事件

// 按键按下,所触发的事件 public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode) { case KeyEvent.KEYCODE_DPAD_CENTER: display("中键被按下"); break; case KeyEvent.KEYCODE_DPAD_DOWN: display("下键被按下"); break; case KeyEvent.KEYCODE_DPAD_

自定义软件盘的Enter键

目标:改变软键盘的外观使enter显示为“DONE”或“完成”,监听点击事件. 实现: 1.在xml文件中定义一个EditText <EditText android:layout_width="match_parent" android:layout_height="40dp" android:imeOptions="actionDone" /> 但是仅仅这样设置软键盘enter键的外观并没有发生改变,依然显示为换行符.设置下面两个

android EditText的自动换行和对Enter键的改变

引 我们长时间对EditText的控件的使用,已经积累了不少的技巧了,比如输入的类型(电话号码,数字类型,邮箱,文本-),光标的变化,默认的输入字体- 其实android的EditText中有许多的组合小技巧,并且还和android的 版本有很深切的关系. 我们会发现我们在EditText中输入文字的时候,光标会随着你文字的增加一直往后移动,但是在有的android版本中,它并不会换行,其中有种有种可能是你把Enter键给设置成了"完成", android:imeOptions=&qu

android 自定义键盘 KeyboardView的key 文字颜色发虚模糊

开发中自定义键盘是否遇到文字发虚吗??如下图: 解决办法: 1. 在key的xml中设置key文字不用keyLabel ,而用keyIcon,即用图片来代替文本,但是这种方法比较笨 2.最简单的是在keyboardview中设置两个属性即可: android:shadowColor="@color/c_white" android:shadowRadius="0.0" shadowColor 设置跟你按键的背景色一致即可!!! 这样按键的文字就会显示的很清晰了啊!!

Android开发中EditText的点击Enter键焦点改变处理(获取焦点和失去焦点交互变化)

最近因为项目需要,需要将EditText的焦点转移到LineraLayout上: 即为EditText输入完毕后,点击回车键或者按压其他嵌入式android设备的OK键,获取LineraLayout的点击事件. 在onCreate方法中调用此方法initListener即可; 1 /** 2 * 监听EditText的焦点,点击回车键(或者按压OK键)后,失去焦点,将焦点转到ImageView上 3 */ 4 private void initListener() { 5 mEtTrainId.