android:imeOptions

默认情况下软键盘右下角的按钮为“下一个”,点击会到下一个输入框,保持软键盘

 


 

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


 

android:imeOptions="actionSend" 软键盘下方变成“发送”,点击后光标移动下一个
在这里设置的imeOptions如何使用呢?如下面的代码,让EditText实现setOnEditorActionListener,在onEditAction方法中actionId就对应我们设置的imeOptions。系统默认的actionId有:EditorInfo.IME_NULL、EditorInfo.IME_ACTION_SEND、EditorInfo.IME_ACTION_DONE等。这样我们就可以根据不同的EditText来实现不同的软键盘右下角功能键。
package com.test;

import com.test.main.TestAsyn;

import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.inputmethod.EditorInfo;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
import android.widget.Toast;

public class IMFActivity extends Activity implements OnEditorActionListener {

EditText etDefault;
EditText etEmail;
EditText etNumber;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.imf_layout);

etDefault = (EditText)findViewById(R.id.default_content);
etEmail = (EditText)findViewById(R.id.email_content);
etNumber = (EditText)findViewById(R.id.number_content);
etDefault.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("null for default_content: " + v.getText() );
break;
case EditorInfo.IME_ACTION_SEND:
System.out.println("action send for email_content: " + v.getText());
break;
case EditorInfo.IME_ACTION_DONE:
System.out.println("action done for number_content: " + v.getText());
break;
}
//Toast.makeText(this, v.getText()+"--" + actionId, Toast.LENGTH_LONG).show();
return true;
}
}

 

 

转载于:https://www.cnblogs.com/qiengo/archive/2012/05/03/2480857.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值