Android 软键盘的确定键修改

转载自博客:Android EditText imeOptions属性详解

在我们的手机中,虽然通常输入法软键盘右下角会是回车按键,但我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标。例如:
点击浏览器网址栏的时候,输入法软键盘右下角会变成“GO”或“前往;
而我们点击Google搜索框,输入法软键盘右下角会变成 放大镜 或者“搜索”。
而决定这个图标的变换的参数就是EditText中的 android:imeOptions属性。android:imeOptions的值有actionGo、 actionSend 、actionSearch、actionDone等
注意:需要和android:singleLine=”true”搭配使用
这里写图片描述

设置 android:imeOptions=”actionDone” ,软键盘下方变成“完成”,点击后光标保持在原来的输入框上,并且软键盘关闭。
这里写图片描述

android:imeOptions=”actionSend” 软键盘下方变成“发送”,点击后光标移动下一个。
这里写图片描述

在这里设置的imeOptions如何使用呢?如下面的代码,让EditText实现OnEditorActionListener接口,在onEditorAction方法中actionId就对应我们设置的imeOptions。系统默认的actionId有:EditorInfo.IME_NULL、EditorInfo.IME_ACTION_SEND、EditorInfo.IME_ACTION_DONE等。这样我们就可以根据不同的EditText来实现不同的软键盘右下角功能键。

public class IMEOptionsActivity extends Activity implements OnEditorActionListener {  

    EditText etDone;  
    EditText etEmail;  
    EditText etNumber;  


    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.imf_layout);  

        etDone= (EditText)findViewById(R.id.done_content);  
        etEmail = (EditText)findViewById(R.id.email_content);  
        etNumber = (EditText)findViewById(R.id.number_content);  
        etDone.setOnEditorActionListener(this);  
        etEmail.setOnEditorActionListener(this);  
        etNumber.setOnEditorActionListener(this);  

    }  

    @Override  
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {  
        switch(actionId){  
        case EditorInfo.IME_NULL:  
            System.out.println("Done_content: " + v.getText() );  
            break;  
        case EditorInfo.IME_ACTION_SEND:  
            System.out.println("send a email: "  + v.getText());  
            break;  
        case EditorInfo.IME_ACTION_DONE:  
            System.out.println("action done for number_content: "  + v.getText());  
            break;  
        }  

        return true;  
    }  
}  
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值