android:imeOptions属性

imeOptions软键盘setOnEditorActionListener

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

设置 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来实现不同的软键盘右下角功能键。

Java代码  

  1. package com.test;
  2. import com.test.main.TestAsyn;
  3. import android.app.Activity;
  4. import android.os.Bundle;
  5. import android.view.KeyEvent;
  6. import android.view.inputmethod.EditorInfo;
  7. import android.widget.EditText;
  8. import android.widget.TextView;
  9. import android.widget.TextView.OnEditorActionListener;
  10. import android.widget.Toast;
  11. public class IMFActivity extends Activity implements OnEditorActionListener {
  12. EditText etDefault;
  13. EditText etEmail;
  14. EditText etNumber;
  15. /** Called when the activity is first created. */
  16. @Override
  17. public void onCreate(Bundle savedInstanceState) {
  18. super.onCreate(savedInstanceState);
  19. setContentView(R.layout.imf_layout);
  20. etDefault = (EditText)findViewById(R.id.default_content);
  21. etEmail = (EditText)findViewById(R.id.email_content);
  22. etNumber = (EditText)findViewById(R.id.number_content);
  23. etDefault.setOnEditorActionListener(this);
  24. etEmail.setOnEditorActionListener(this);
  25. etNumber.setOnEditorActionListener(this);
  26. }
  27. @Override
  28. public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
  29. switch(actionId){
  30. case EditorInfo.IME_NULL:
  31. System.out.println("null for default_content: " + v.getText() );
  32. break;
  33. case EditorInfo.IME_ACTION_SEND:
  34. System.out.println("action send for email_content: "  + v.getText());
  35. break;
  36. case EditorInfo.IME_ACTION_DONE:
  37. System.out.println("action done for number_content: "  + v.getText());
  38. break;
  39. }
  40. //Toast.makeText(this, v.getText()+"--" + actionId, Toast.LENGTH_LONG).show();
  41. return true;
  42. }
  43. }

xml文件:

Xml代码  

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent" android:layout_height="fill_parent">
  4. <TableLayout android:layout_width="fill_parent"
  5. android:layout_height="fill_parent">
  6. <TableRow>
  7. <TextView android:text="No special rules" android:id="@+id/TextView01"
  8. android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
  9. <EditText android:text="1111111111111" android:id="@+id/default_content"
  10. android:layout_width="fill_parent" android:layout_height="wrap_content"></EditText>
  11. </TableRow>
  12. <TableRow>
  13. <TextView android:text="Email address:" android:id="@+id/TextView01"
  14. android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
  15. <EditText android:text="" android:id="@+id/email_content"
  16. android:layout_width="fill_parent" android:layout_height="wrap_content"
  17. android:inputType="text|textEmailAddress"
  18. android:imeOptions="actionSend"></EditText>
  19. </TableRow>
  20. <TableRow>
  21. <TextView android:text="Signed decimal number:" android:id="@+id/TextView01"
  22. android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
  23. <EditText android:text="" android:id="@+id/number_content"
  24. android:layout_width="fill_parent" android:layout_height="wrap_content"
  25. android:inputType="number|numberSigned|numberDecimal"
  26. android:imeOptions="actionDone"></EditText>
  27. </TableRow>
  28. </TableLayout>
  29. </ScrollView>

android:imeOptions属性

时间: 2024-09-30 18:59:02

android:imeOptions属性的相关文章

关于设置android:imeOptions属性无效的解决办法

在对Android的EditText控件进行设置时,经常会限定一下输入法的属性,设置右下角为完成或者搜索等,一般都会想到android:imeOptions属性,但是仅仅这么设置通常是无效的,还要搭配另外一些属性. <!-- 添加singleLine属性或者inputType属性, 注意inputType,我测试的是只能设为text --> <EditText android:id="@+id/editText1" android:layout_width="

android:imeOptions属性(转)

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

(转)android:imeOptions属性

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

Android EditText imeOptions属性详解

在我们的手机中,虽然通常输入法软键盘右下角会是回车按键,但我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标.例如: 点击浏览器网址栏的时候,输入法软键盘右下角会变成"GO"或"前往: 而我们点击Google搜索框,输入法软键盘右下角会变成 放大镜 或者"搜索". 而决定这个图标的变换的参数就是EditText中的 android:imeOptions属性.android:imeOptions的值有actionGo. actionSend .

Android之EditText imeOptions属性解析

在我们的手机中,虽然通常输入法软键盘右下角会是回车按键,但我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标.例如: 点击浏览器网址栏的时候,输入法软键盘右下角会变成"GO"或"前往: 而我们点击Google搜索框,输入法软键盘右下角会变成 放大镜 或者"搜索". 而决定这个图标的变换的参数就是EditText中的 android:imeOptions属性.android:imeOptions的值有actionGo. actionSend .

Android 部分属性学习

android:imeOptions属性 谈一下个人的理解,设置软件盘中下一个/完成按钮的显示,如果需要监听软件盘中该按钮的事件,则需要实现 setOnEditorActionListener 其实,常用的话,就是字体显示下一个,完成或者 发送. 搜索...具体的值有 normal actionGo actionSearch actionSend actionDone actionPrevious flagNoFullscreen flagNavigatePrevious Corresponds

Android开发中利用imeOptions属性将键盘回车键改成搜索等功能键【提高用户输入体验】

Android中键盘输入是用户输入交互的最常用最直接的手段,关于键盘输入,有几点可以提高用户使用体验. 第一:弹出键盘整体页面上移,使键盘不遮挡控件,需要在AndroidManifest设置对应Activity的windowSoftInputMode属性 stateVisible 设置为这个属性,可以将软键盘召唤出来,即使在界面上没有输入框的情况下也可以强制召唤出来 adjustResize 这个属性表示Activity的主窗口总是会被调整大小,从而保证软键盘显示空间. 效果如下图所示: <ac

androidEditTextinputType及android:imeOptions=”actionDone”(转)

一.android 软件盘事件响应 在android中,有时需要对EditText实现软件盘监听的场景.当android按下软键盘的时候,响应完成.发送.搜索或者其他事件. Google 提供了 EditorInfo.KeyEvent 的一些方法,能够实现我们需要的功能.详细可研究:EditorInfo.class 和 KeyEvent.class. 输入回车键隐藏输入键盘的方法: 如果布局中包含多个EditText,可以为每个EditText控件设置android:singleLine=”tr

Android TextEdit属性

EditText继承关系:View-->TextView-->EditText 去掉边框 将EditText属性设置修改 android:background="@null" android:hint="请输入数字!"//设置显示在空间上的提示信息 android:numeric="integer"//设置只能输入整数,如果是小数则是:decimal android:singleLine="true"//设置单行输