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

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


这里设置的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;
- }
- }
- <?xml version="1.0" encoding="utf-8"?>
- <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent" android:layout_height="fill_parent">
- <TableLayout android:layout_width="fill_parent"
- android:layout_height="fill_parent">
- <TableRow>
- <TextView android:text="No special rules" android:id="@+id/TextView01"
- android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
- <EditText android:text="1111111111111" android:id="@+id/default_content"
- android:layout_width="fill_parent" android:layout_height="wrap_content"></EditText>
- </TableRow>
- <TableRow>
- <TextView android:text="Email address:" android:id="@+id/TextView01"
- android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
- <EditText android:text="" android:id="@+id/email_content"
- android:layout_width="fill_parent" android:layout_height="wrap_content"
- android:inputType="text|textEmailAddress"
- android:imeOptions="actionSend"></EditText>
- </TableRow>
- <TableRow>
- <TextView android:text="Signed decimal number:" android:id="@+id/TextView01"
- android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
- <EditText android:text="" android:id="@+id/number_content"
- android:layout_width="fill_parent" android:layout_height="wrap_content"
- android:inputType="number|numberSigned|numberDecimal"
- android:imeOptions="actionDone"></EditText>
- </TableRow>
- </TableLayout>
- </ScrollView>
android:imeOptions属性的更多相关文章
- 关于设置android:imeOptions属性无效的解决办法
在对Android的EditText控件进行设置时,经常会限定一下输入法的属性,设置右下角为完成或者搜索等,一般都会想到android:imeOptions属性,但是仅仅这么设置通常是无效的,还要搭配 ...
- android:imeOptions属性(转)
默认情况下软键盘右下角的按钮为“下一个”,点击会到下一个输入框,保持软键盘 设置 android:imeOptions="actionDone" ,软键盘下方变成“完成”,点击后光 ...
- Android之EditText imeOptions属性解析
在我们的手机中,虽然通常输入法软键盘右下角会是回车按键,但我们经常会看到点击不同的编辑框,输入法软键盘右下角会有不同的图标.例如: 点击浏览器网址栏的时候,输入法软键盘右下角会变成"GO& ...
- Android 部分属性学习
android:imeOptions属性 谈一下个人的理解,设置软件盘中下一个/完成按钮的显示,如果需要监听软件盘中该按钮的事件,则需要实现 setOnEditorActionListener 其实, ...
- Android EditText属性
1.EditText输入的文字为密码形式的设置 (1)通过.xml里设置: 把该EditText设为:android:password="true" // 以”.”形式显示文本 ( ...
- Android TextView属性
android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接.可选值(none/web/email/phone/map/all)android:a ...
- Android TextEdit属性
EditText继承关系:View-->TextView-->EditText 去掉边框 将EditText属性设置修改 android:background="@null&qu ...
- Android:EditText 属性
Android开发EditText属性 EditText 官网链接 EditText继承关系:View-->TextView-->EditText EditText 部分属性: XML 设 ...
- Android——TextView属性XML详解
Android_TextView属性XML详解 博客分类: android 属性名称 描述 android:autoLink 设置是否当文本为URL链接/email/电话号码/map时 ...
随机推荐
- Activity(活动)生命周期(1)--返回栈
Android是使用任务(task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称为返回栈(Back stack).栈是一种后进先出的数据结构,在默认情况下,每当我们启动了一个新的 ...
- mysql事务简单测试
Auth: jinDate: 20140507 一.事务控制默认情况下,MySQL是自动提交(autocommit)的,如果需要通过明确的commit和rollblack来提交和回滚事务,那么需要通过 ...
- 理解SQL Server是如何执行查询的---Joe-T :mvp
http://www.cnblogs.com/Joe-T/ http://rusanu.com/2013/08/01/understanding-how-sql-server-executes-a-q ...
- GNU C内联汇编(AT&T语法)
转:http://www.linuxso.com/linuxbiancheng/40050.html 内联汇编提供了可以在C或C++代码中创建汇编语言代码,不必连接额外的库或程序.这种方法对最终程序在 ...
- [Android Memory] Android系统中查看某个应用当前流量的方法
转载自: http://blog.sina.com.cn/s/blog_628cc2b70101dbyy.html 一.查看原理:某个应用的网络流量数据保存在系统的/proc/uid_stat/$UI ...
- 图灵机器人聊天api
图灵机器人,功能非常强大,可用于聊天.查询等多个领域 图灵机器人官网:http://www.tuling123.com api地址:http://www.tuling123.com/openapi/a ...
- 如何Oracle查出一个用户具有的所有系统权限和对象权限
1. 系统权限 SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'LCAM_SYS_1216' UNION ALL SELECT * FROM DBA_SYS_ ...
- flask使用ajax上传图片或者文件
function upload_cover(){ var cover = new FormData(); var fileObj = document.getElementById('cover'). ...
- 一个tomcat中部署多个项目
在各自的项目web.xml中添加 <context-param> <param-name>webAppRootKey</param-name> <param- ...
- java中的序列化和反序列化学习笔记
须要序列化的Person类: package cn.itcast_07; import java.io.Serializable; /* * NotSerializableException:未序列化 ...