Android EditText imeOptions属性详解

在我们的手机中,虽然通常输入法软键盘右下角会是回车按键,但我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标。例如:

点击浏览器网址栏的时候,输入法软键盘右下角会变成“GO”或“前往;

而我们点击Google搜索框,输入法软键盘右下角会变成 放大镜 或者“搜索”。

而决定这个图标的变换的参数就是EditText中的 android:imeOptions属性。android:imeOptions的值有actionGo、 actionSend 、actionSearch、actionDone等

设置 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;
    }
}  
时间: 2024-08-06 03:23:18

Android EditText imeOptions属性详解的相关文章

Android中shape属性详解

一.简单使用 刚开始,就先不讲一堆标签的意义及用法,先简单看看shape标签怎么用. 1.新建shape文件 首先在res/drawable文件夹下,新建一个文件,命名为:shape_radius.xml 内容是这样的:(先不需要理解,先看shape怎么用) [html] view plaincopyprint? <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="ht

android shape.xml 属性详解

转载源:http://blog.csdn.net/harvic880925/article/details/41850723 一.简单使用 刚开始,就先不讲一堆标签的意义及用法,先简单看看shape标签怎么用. 1.新建shape文件 首先在res/drawable文件夹下,新建一个文件,命名为:shape_radius.xml 内容是这样的:(先不需要理解,先看shape怎么用) [html] view plaincopy <?xml version="1.0" encodin

android View各属性详解

一.有8个直接子类:AnalogClock, ImageView, KeyboardView, ProgressBar, SurfaceView, TextView, ViewGroup, ViewStub. 二.有54个间接子类:AbsListView, AbsSeekBar, AbsSpinner, AbsoluteLayout, AdapterView<T extends Adapter>, AppWidgetHostView, AutoCompleteTextView, Button,

imeOptions 属性详解

默认情况下软键盘右下角的按钮为“下一个”,点击会到下一个输入框,保持软键盘 设置 android:imeOptions="actionDone" ,软键盘下方变成“完成”,点击后光标保持在原来的输入框上,并且软键盘关闭 android:imeOptions="actionSend" 软键盘下方变成“发送”,点击后光标移动下一个 在这里设置的imeOptions如何使用呢?如下面的代码,让EditText实现setOnEditorActionListener,在onE

Android中visibility属性详解

Android开发中,大部分控件都有visibility这个属性,其属性有3个分别为"visible "."invisible"."gone".主要用来设置控制控件的显示和隐藏. 1) 可见(visible) XML文件:android:visibility="visible"Java代码:view.setVisibility(View.VISIBLE); 2) 不可见(invisible) XML文件:android:vis

Android SystemProperties系统属性详解

Systemproperties类在android.os下,但这个类是隐藏的,上层程序开发无法直接使用,用Java的反射机制就可以了.Java代码中创建与修改android属性用Systemproperties.set(name, value),获取android属性用Systemproperties.get(name),Native代码中通过property_get(const char *key, char *value, const char *default_value)/propert

android:layout_weight属性详解 (转)

在android开发中LinearLayout很常用,LinearLayout的内控件的android:layout_weight在某些场景显得非常重要,比如我们需要按比例显示.android并没用提供table这样的控件,虽然有TableLayout,但是它并非是我们想象中的像html里面的table那么好用,我们常用ListView实现table的效果,但是列对齐确比较麻烦,现在用LinearLayout及属性android:layout_weight能很好地解决.下面我们共同体验下layo

android:layout_weight属性详解

1. 按比例显示LinearLayout内各个子控件,需设置android:layout_width="0dp",如果为竖直方向的设置android:layout_height="0dp".在这种情况下某子个控件占用LinearLayout的比例为:本控件weight值 / LinearLayout内所有控件的weight值的和. 2. 所以,要对weight做了解,要深深的理解下面两句话:   在layout_width设置为fill_parent的时候,layo

【Android】SlidingMenu属性详解(转)

原文:http://my.eoe.cn/1169143/archive/21892.html SlidingMenu简介:SlidingMenu的是一种比较新的设置界面或配置界面效果,在主界面左滑或者右滑出现设置界面,能方便的进行各种操作.目前有大量的应用都在使用这一效果.如Evernote.Google+.Foursquare等,国内的豌豆夹,人人,360手机助手等都使用SlidingMenu的界面方案. 项目下载地址:http://pan.baidu.com/s/1hq7NQmC Slidi