【Android常用控件】EditText常用属性【二】:为文本输入框指定软键盘类型和软键盘回车键图标设置
16lz
2021-01-23
【一】为文本输入框指定软键盘类型
【扩展阅读】android:inputType参数类型说明
android:inputType="none"--输入普通字符android:inputType="text"--输入普通字符android:inputType="textCapCharacters"--输入普通字符android:inputType="textCapWords"--单词首字母大小android:inputType="textCapSentences"--仅第一个字母大小android:inputType="textAutoCorrect"--前两个自动完成android:inputType="textAutoComplete"--前两个自动完成android:inputType="textMultiLine"--多行输入android:inputType="textImeMultiLine"--输入法多行(不一定支持)android:inputType="textNoSuggestions"--不提示android:inputType="textUri"--URI格式android:inputType="textEmailAddress"--电子邮件地址格式android:inputType="textEmailSubject"--邮件主题格式android:inputType="textShortMessage"--短消息格式android:inputType="textLongMessage"--长消息格式android:inputType="textPersonName"--人名格式android:inputType="textPostalAddress"--邮政格式android:inputType="textPassword"--密码格式android:inputType="textVisiblePassword"--密码可见格式android:inputType="textWebEditText"--作为网页表单的文本格式android:inputType="textFilter"--文本筛选格式android:inputType="textPhonetic"--拼音输入格式android:inputType="number"--数字格式android:inputType="numberSigned"--有符号数字格式android:inputType="numberDecimal"--可以带小数点的浮点格式android:inputType="phone"--拨号键盘android:inputType="datetime"android:inputType="date"--日期键盘android:inputType="time"--时间键盘
【二】软键盘回车键图标设置
【三】实例源码
activity_main.xml
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="wrap_content" > <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" > <TextView android:id="@+id/tip2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1.指定软键盘的类型为:数字 android:inputType = date" /> <EditText android:id="@+id/edit_tip" android:layout_width="fill_parent" android:layout_height="40dp" android:layout_below="@+id/tip2" android:inputType="date" /> <TextView android:id="@+id/tip3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/edit_tip" android:text="2.指定软键盘的类型为:文本 android:inputType = text" /> <EditText android:id="@+id/edit_tip2" android:layout_width="fill_parent" android:layout_height="40dp" android:layout_below="@+id/tip3" android:inputType="text" /> <TextView android:id="@+id/tip4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/edit_tip2" android:text="3.设置Enter键的图标为【搜索】 android:imeOptions = actionSearch" /> <EditText android:id="@+id/edit_tip3" android:layout_width="fill_parent" android:layout_height="40dp" android:layout_below="@+id/tip4" android:imeOptions="actionSearch" /> <TextView android:id="@+id/tip5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/edit_tip3" android:text="4.设置Enter键的图标为【go】 android:imeOptions = actionGo " /> <EditText android:id="@+id/edit_tip4" android:layout_width="fill_parent" android:layout_height="40dp" android:layout_below="@+id/tip5" android:imeOptions="actionGo" /> <TextView android:id="@+id/tip6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/edit_tip4" android:text="5.设置Enter键的图标为【send】 android:imeOptions = actionSend" /> <EditText android:id="@+id/edit_tip5" android:layout_width="fill_parent" android:layout_height="40dp" android:layout_below="@+id/tip6" android:imeOptions="actionSend" /> <TextView android:id="@+id/tip7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/edit_tip5" android:text="6.设置Enter键的图标为【next】 android:imeOptions = actionNext" /> <EditText android:id="@+id/edit_tip6" android:layout_width="fill_parent" android:layout_height="40dp" android:layout_below="@+id/tip7" android:imeOptions="actionNext" /> <TextView android:id="@+id/tip8" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/edit_tip6" android:text="7.设置Enter键的图标为【done】 android:imeOptions = actionDone" /> <EditText android:id="@+id/edit_tip7" android:layout_width="fill_parent" android:layout_height="40dp" android:layout_below="@+id/tip8" android:imeOptions="actionDone" /> <TextView android:id="@+id/t9" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/edit_tip7" android:text="8.设置Enter键的图标为【未指定】 android:imeOptions = actionUnspecified" /> <EditText android:id="@+id/e9" android:layout_width="fill_parent" android:layout_height="40dp" android:layout_below="@+id/t9" android:imeOptions="actionUnspecified" /> <TextView android:id="@+id/t10" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/e9" android:text="9.设置Enter键的图标为【没有动作】 android:imeOptions = actionNone" /> <EditText android:id="@+id/e10" android:layout_width="fill_parent" android:layout_height="40dp" android:layout_below="@+id/t10" android:imeOptions="actionNone" /> </RelativeLayout></ScrollView>
MainActivity.java
package com.wirelessqa.edittext;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 MainActivity extends Activity { private EditText edit_search = null; private EditText edit_go = null; private EditText edit_next = null; private EditText edit_done = null; private EditText edit_send = null; private EditText edit_none = null; private EditText edit_unspecified = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edit_search = (EditText) findViewById(R.id.edit_tip3); edit_go = (EditText) findViewById(R.id.edit_tip4); edit_send = (EditText) findViewById(R.id.edit_tip5); edit_next = (EditText) findViewById(R.id.edit_tip6); edit_done = (EditText) findViewById(R.id.edit_tip7); edit_unspecified = (EditText) findViewById(R.id.e9); edit_none = (EditText) findViewById(R.id.e10); edit_search.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView arg0, int actionId, KeyEvent event) { whichImeAction(actionId); return true; } }); edit_go.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView arg0, int actionId, KeyEvent event) { whichImeAction(actionId); return true; } }); edit_send.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView arg0, int actionId, KeyEvent event) { whichImeAction(actionId); return true; } }); edit_next.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView arg0, int actionId, KeyEvent event) { whichImeAction(actionId); return true; } }); edit_done.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView arg0, int actionId, KeyEvent event) { whichImeAction(actionId); return true; } }); edit_unspecified.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView arg0, int actionId, KeyEvent event) { whichImeAction(actionId); return true; } }); edit_none.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView arg0, int actionId, KeyEvent event) { whichImeAction(actionId); return true; } }); } private void whichImeAction(int actionId) { switch (actionId) { case EditorInfo.IME_ACTION_SEARCH: Toast.makeText(MainActivity.this, "Enter为【搜索】", Toast.LENGTH_SHORT).show(); break; case EditorInfo.IME_ACTION_GO: Toast.makeText(MainActivity.this, "Enter为【go】", Toast.LENGTH_SHORT).show(); break; case EditorInfo.IME_ACTION_NEXT: Toast.makeText(MainActivity.this, "Enter为【下一个】", Toast.LENGTH_SHORT).show(); break; case EditorInfo.IME_ACTION_NONE: Toast.makeText(MainActivity.this, "Enter为【没有动作】", Toast.LENGTH_SHORT).show(); break; case EditorInfo.IME_ACTION_DONE: Toast.makeText(MainActivity.this, "Enter为【完成】", Toast.LENGTH_SHORT).show(); break; case EditorInfo.IME_ACTION_SEND: Toast.makeText(MainActivity.this, "Enter为【发送】", Toast.LENGTH_SHORT).show(); break; case EditorInfo.IME_ACTION_UNSPECIFIED: Toast.makeText(MainActivity.this, "Enter为【未指定】", Toast.LENGTH_SHORT).show(); break; default: break; } }}
更多相关文章
- Android中EditText的inputType属性(键盘类型)
- Android 正则表达式验证手机和邮箱格式是否正确
- android将EditText设置为只可点击 不弹出软键盘不显示光标
- 探索Android软键盘的疑难杂症
- android应用程序键盘事件机制
- Android调用输入法软键盘,返回输入的内容
- Android中文合集(5)(126+8篇)(chm格式)
- Android软键盘回车键修改为搜索按键
- 诡异特殊的EditText 弹出软键盘遮挡BUG