美文网首页Android开发经验总结篇
软盘Enter键的设置与点击监听

软盘Enter键的设置与点击监听

作者: zhengLH | 来源:发表于2018-03-06 15:33 被阅读0次

    【背景】
    我们常常看到,一些App应用软件中的搜索界面,我们会发现当点击输入框,显示软盘。在软盘上的Enter键会显示搜索两个字,当我们点击Enter键时,会跳转到搜索结果界面,这样的一个功能需求是怎么实现的呢?
    【效果】


    搜索.png

    【答案】
    (1)软键盘的Enter键默认显示的是“完成”文本,在布局XML文件通过设置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
    

    (2)Enter键事件捕捉代码
    可以通过setOnEditorActionListener设置事件处理。

    // 设置软键盘的Enter键显示文字 
     editText.setImeOptions(EditorInfo.IME_ACTION_SEARCH); // 对enter点击事件监听 
    editText.setOnEditorActionListener(newTextView.OnEditorActionListener() { 
          public booleanonEditorAction(TextView v, intactionId,KeyEvent event) { 
              if(actionId == EditorInfo.IME_ACTION_SEARCH|| (event !=null&& 
                         event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) { //执
                               行搜索功能 executeSearchEvent(); 
                        return true; } 
                    return false; } });
    

    【注意】还有一个问题就是,如果你的系统版本是高于2.3的话,有可能这个属性设置了,但是没有效果;

     只需要我们给EditText设置singleLine为true或者inputType为text即可!!!
    

    【来源】 https://www.jianshu.com/p/29fa3770b65d

    相关文章

      网友评论

        本文标题:软盘Enter键的设置与点击监听

        本文链接:https://www.haomeiwen.com/subject/uuxrfftx.html