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

设置 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来实现不同的软键盘右下角功能键。
 
  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文件:
  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属性(转)的更多相关文章

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

    在对Android的EditText控件进行设置时,经常会限定一下输入法的属性,设置右下角为完成或者搜索等,一般都会想到android:imeOptions属性,但是仅仅这么设置通常是无效的,还要搭配 ...

  2. android:imeOptions属性

    imeOptions软键盘setOnEditorActionListener  默认情况下软键盘右下角的按钮为“下一个”,点击会到下一个输入框,保持软键盘 设置 android:imeOptions= ...

  3. Android之EditText imeOptions属性解析

    在我们的手机中,虽然通常输入法软键盘右下角会是回车按键,但我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标.例如:  点击浏览器网址栏的时候,输入法软键盘右下角会变成"GO& ...

  4. Android 部分属性学习

    android:imeOptions属性 谈一下个人的理解,设置软件盘中下一个/完成按钮的显示,如果需要监听软件盘中该按钮的事件,则需要实现 setOnEditorActionListener 其实, ...

  5. Android EditText属性

    1.EditText输入的文字为密码形式的设置 (1)通过.xml里设置: 把该EditText设为:android:password="true" // 以”.”形式显示文本 ( ...

  6. Android TextView属性

    android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(none/web/email/phone/map/all)android:a ...

  7. Android TextEdit属性

    EditText继承关系:View-->TextView-->EditText 去掉边框 将EditText属性设置修改 android:background="@null&qu ...

  8. Android:EditText 属性

    Android开发EditText属性 EditText 官网链接 EditText继承关系:View-->TextView-->EditText EditText 部分属性: XML 设 ...

  9. Android——TextView属性XML详解

    Android_TextView属性XML详解 博客分类: android   属性名称    描述 android:autoLink    设置是否当文本为URL链接/email/电话号码/map时 ...

随机推荐

  1. HTML——选择器

    在前面的章节中,我们展示了一些有关如何选取 HTML 元素的实例. 关键点是学习 jQuery 选择器是如何准确地选取您希望应用效果的元素. jQuery 元素选择器和属性选择器允许您通过标签名.属性 ...

  2. emoji表情初探

    2015年12月28日 14:24:51 星期一 首先注意的地方: 1. emoji是需要操作系统支持的, 例如: ios更新时, 会在升级日志里说明, 增加了对多少个emoji图标的支持. 原理上是 ...

  3. python if __name__ == '__main__'解析

    废话不多说,正题: python中所有的模块都有一个内置属性 __name__,一个模块的 __name__ 的值取决于如何应用模块.如果 import 一个模块,那么模块__name__ 的值通常为 ...

  4. java jsp调用shell(带参数)脚本并返回值

    test.jsp <%@ page language="java" import="java.util.List,java.util.ArrayList,java. ...

  5. July 7th, Week 28th Thursday, 2016

    The 79th Anniversary of Anti-Japan War Difficulties vanish when faced bodly. 勇敢面对困难,困难自会退让. The best ...

  6. Ubuntu(Linux)使用Eclipse搭建C/C++编译环境

    转自:http://www.cppblog.com/kangnixi/archive/2010/02/10/107636.html 首先是安装Eclipse,方法有两种:       第一种是通过Ub ...

  7. ios layer 动画-(transform.rotation篇)

    x轴旋转: CABasicAnimation *theAnimation; theAnimation=[CABasicAnimation animationWithKeyPath:@"tra ...

  8. ASP.NET MVC中解决日志并发处理log4net

    本章主要内容是将异常信息写到队列中,然后通过线程写到文本文件中,速度非常快,没有阻塞和延迟加载 1.首先在Model中建一个类MyExceptionAttribute.cs public class ...

  9. python以指定宽度及格式输出字符串

  10. .net学习笔记----有序集合SortedList、SortedList<TKey,TValue>、SortedDictionary<TKey,TValue>

    无论是常用的List<T>.Hashtable还是ListDictionary<TKey,TValue>,在保存值的时候都是无序的,而今天要介绍的集合类SortedList和S ...