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


android:imeOptions属性

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


android:imeOptions属性

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

Java代码收藏代码
  1. packagecom.test;
  2. importcom.test.main.TestAsyn;
  3. importandroid.app.Activity;
  4. importandroid.os.Bundle;
  5. importandroid.view.KeyEvent;
  6. importandroid.view.inputmethod.EditorInfo;
  7. importandroid.widget.EditText;
  8. importandroid.widget.TextView;
  9. importandroid.widget.TextView.OnEditorActionListener;
  10. importandroid.widget.Toast;
  11. publicclassIMFActivityextendsActivityimplementsOnEditorActionListener{
  12. EditTextetDefault;
  13. EditTextetEmail;
  14. EditTextetNumber;
  15. /**Calledwhentheactivityisfirstcreated.*/
  16. @Override
  17. publicvoidonCreate(BundlesavedInstanceState){
  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. publicbooleanonEditorAction(TextViewv,intactionId,KeyEventevent){
  29. switch(actionId){
  30. caseEditorInfo.IME_NULL:
  31. System.out.println("nullfordefault_content:"+v.getText());
  32. break;
  33. caseEditorInfo.IME_ACTION_SEND:
  34. System.out.println("actionsendforemail_content:"+v.getText());
  35. break;
  36. caseEditorInfo.IME_ACTION_DONE:
  37. System.out.println("actiondonefornumber_content:"+v.getText());
  38. break;
  39. }
  40. //Toast.makeText(this,v.getText()+"--"+actionId,Toast.LENGTH_LONG).show();
  41. returntrue;
  42. }
  43. }
xml文件:

Xml代码收藏代码
  1. <?xmlversion="1.0"encoding="utf-8"?>
  2. <ScrollViewxmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"android:layout_height="fill_parent">
  4. <TableLayoutandroid:layout_width="fill_parent"
  5. android:layout_height="fill_parent">
  6. <TableRow>
  7. <TextViewandroid:text="Nospecialrules"android:id="@+id/TextView01"
  8. android:layout_width="wrap_content"android:layout_height="wrap_content"></TextView>
  9. <EditTextandroid:text="1111111111111"android:id="@+id/default_content"
  10. android:layout_width="fill_parent"android:layout_height="wrap_content"></EditText>
  11. </TableRow>
  12. <TableRow>
  13. <TextViewandroid:text="Emailaddress:"android:id="@+id/TextView01"
  14. android:layout_width="wrap_content"android:layout_height="wrap_content"></TextView>
  15. <EditTextandroid: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. <TextViewandroid:text="Signeddecimalnumber:"android:id="@+id/TextView01"
  22. android:layout_width="wrap_content"android:layout_height="wrap_content"></TextView>
  23. <EditTextandroid: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>

转自:链接

更多相关文章

  1. android两种方式实现发送短信的功能代码
  2. 原始Android的目标机代码结构
  3. android 数字键盘使用
  4. Android LinearLayout的布局属性介绍
  5. 在Ubuntu上下载、编译和安装Android最新内核源代码(Linux Kernel)
  6. Android自定义属性与自定义属性的获取
  7. 第一行代码笔记1
  8. Intent.FLAG 属性大全
  9. 第一行代码:AlertDialog

随机推荐

  1. Android(安卓)下枚举型使用、及与 int 转
  2. Android菜单设计(2) : options menu使用
  3. Android堆内存也可自己定义大小
  4. Facebook开源项目:我们为什么要用Fresco框
  5. 移动终端高级开发工程师
  6. Android(安卓)网络电台的一种实现方案
  7. 【Android(安卓)Training - 03】使用Frag
  8. ubuntu 10.10 alternate 系统SSH服务安装
  9. Android(安卓)Binder通信机制学习(二)
  10. Android(安卓)Dialog