Android EditText的设置
1、输入法Enter键图标的设置:
软件盘的界面替换只有一个属性android:imeOptions,这个属性的可以取的值有normal,actionUnspecified,actionNone,actionGo,actionSearch,actionSend,actionNext,actionDone,例如当值为actionNext时enter键外观变成一个向下箭头,而值为actionDone时enter键外观则变成了“完成”两个字。
我们也可以重写enter的事件
软键盘的Enter键默认显示的是“完成”文本,通过设置android:imeOptions来改变默认的“完成”文本。这里举几个常用的常量值:
actionUnspecified 未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED.
actionNone 没有动作,对应常量EditorInfo.IME_ACTION_NONE
actionGo 去往,对应常量EditorInfo.IME_ACTION_GO
actionSearch 搜索,对应常量EditorInfo.IME_ACTION_SEARCH
actionSend 发送,对应常量EditorInfo.IME_ACTION_SEND
actionNext 下一个,对应常量EditorInfo.IME_ACTION_NEXT
actionDone 完成,对应常量EditorInfo.IME_ACTION_DONE
(EditorInfo.inputType & EditorInfo.TYPE_CLASS_MASK)可以是许多不同的值,包括:
TYPE_CLASS_NUMBER
TYPE_CLASS_DATETIME
TYPE_CLASS_PHONE
TYPE_CLASS_TEXT
2、事件捕捉处理:
可以通过setOnEditorActionListener设置事件处理。
final EditText input = new EditText(this); input.setSingleLine(true); //android:singleLine=”true” input.setImeOptions(EditorInfo.IME_ACTION_SEND); input.setInputType(InputType.TYPE_CLASS_TEXT |InputType.TYPE_TEXT_VARIATION_PASSWORD); input.setOnEditorActionListener(new TextView.OnEditorActionListener() { public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { Log.d(TAG, ""+actionId+","+event); if (actionId==EditorInfo.IME_ACTION_SEND ||(event!=null&&event.getKeyCode()== KeyEvent.KEYCODE_ENTER)) { //do something; return true; } return false; } });
3、editor密码隐藏,怎么写?
有2种方法处理:
代码方法:input.setInputType(InputType.TYPE_CLASS_TEXT |InputType.TYPE_TEXT_VARIATION_PASSWORD);
layout配置方法:android:inputType="textPassword"
4、activity加载完成后,edit输入框会自动弹出输入法,可以通过以下代码屏蔽:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
5、设置EditText始终不弹出软件键盘
例:EditText edit=(EditText)findViewById(R.id.edit);
edit.setInputType(InputType.TYPE_NULL);
6、让 EditText失去焦点,使用EditText的clearFocus方法
例如:EditText edit=(EditText)findViewById(R.id.edit);
edit.clearFocus();
7、EditText默认不弹出软件键盘
在 AndroidMainfest.xml中选择activity,设置windowSoftInputMode属性为 adjustUnspecified|stateHidden
< activity android:name=".Main" android:label="@string/app_name" android:windowSoftInputMode="adjustUnspecified|stateHidden" android:configChanges="orientation|keyboardHidden"> < intent-filter> < action android:name="android.intent.action.MAIN" /> < category android:name="android.intent.category.LAUNCHER" /> < /intent-filter> < /activity>
8、设置光标到指定位置
EditText et = (EditText) findViewById(R.id.etTest); et.setSelection(2);
//设置光标不显示,但不能设置光标颜色et.setCursorVisible(false); //获得焦点时全选文本et.setSelectAllOnFocus(true); et.requestFocus(); //请求获取焦点et.clearFocus(); //清除焦点 使用EditText的setError提示
et.setError("邮箱");
自定义图标的setError提示
Drawable dr = getResources().getDrawable(R.drawable.ic_launcher); dr.setBounds(0, 0, 10, 10); //必须设置大小,否则不显示 et.setError("有错误提示", dr);
et.setInputType(InputType.TYPE_CLASS_PHONE);//只能输入电话号码 et.setInputType(InputType.TYPE_CLASS_NUMBER);//只能输入数字 et.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);//只能输入邮箱地址 et.setInputType(InputType.TYPE_NULL); // 禁止输入(不弹出输入法)
XML实现案例
<EditText android:id="@+id/etTest" android:inputType="number"android:layout_width="wrap_content" android:layout_height="wrap_content"/>
8、EditText相关属性
EditText继承关系:View-->TextView-->EditText。
EditText的属性很多,这里介绍几个:
android:layout_gravity="center_vertical"
设置控件显示的位置:默认 top,这里居中显示,还有bottom
android:hint="请输入数字!"
设置显示在空间上的提示信息
android:numeric="integer"
设置只能输入整数,如果是小数则是:decimal
android:singleLine="true"
设置单行输入,一旦设置为true,则文字不会自动换行。
android:password="true"
设置只能输入密码
android:textColor = "#ff8c00"
字体颜色
android:textStyle="bold"
字体,bold, italic, bolditalic
android:textSize="20dip"
大小
android:capitalize = "characters"
以大写字母写
android:textAlign="center"
EditText没有这个属性,但TextView有,居中
android:textColorHighlight="#cccccc"
被选中文字的底色,默认为蓝色
android:textColorHint="#ffff00"
设置提示信息文字的颜色,默认为灰色
android:textScaleX="1.5"
控制字与字之间的间距
android:typeface="monospace"
字型,normal, sans, serif, monospace
android:background="@null"
空间背景,这里没有,指透明
android:layout_weight="1"
权重,控制控件之间的地位,在控制控件显示的大小时蛮有用的。
android:textAppearance="?android:attr/textAppearanceLargeInverse"
Android EditText的设置相关推荐
- android EditText 自动换行 设置
项目当中有提交评论和反馈的功能 用的是EditText做为文本编辑器,但是默认的EditText当你输入的内容过多超出屏幕一行 EditText也不会自动换行的,下面给出一个简单的解决办法 EditT ...
- android密码可见不可见的光标控制,Android EditText 在设置为输入密码的时候 密码是否可见 光标在最后显示...
释放双眼,带上耳机,听听看~! 今天在开发登录注册模块的时候,用EditText实现密码的输入,项目需要密码是可以选择可见或者默认的隐藏模式,很简单,但是第一次遇到就记录下来分享给大家. 布局文件 a ...
- Android EditText java 设置 maxLength
我们在开发过程,经常会遇到EditText 设置可输入内容长度,但是发现java代码没有set方法,通过源码,我们发现InputFilter的妙用所在. 在TextView中我们发现maxLength ...
- android edittext默认,EditText – 如何在android edittext中设置默认文本
我正在开发一个 Android应用程序,人们将输入他们的账单. 我有一个EditText,人们输入金额. 我想要做的是例如如果一个人输入"2",它应该自动转换为"0.02 ...
- Android EditText密码框的可见性设置
Android EditText密码框的可见性设置 最近写安卓时要实现密码可见性转换,经过查找资料后发现了两种方法可以实现. 方法一 通过setInputType()方法实现 passwordEdit ...
- android input鼠标坐标,android - 如何在EditText中设置光标位置?
android - 如何在EditText中设置光标位置? 有两个EditText,在加载页面时,第一个EditText中设置了一个文本,所以现在光标将在EditText的起始位置,我想在第二个Edi ...
- android设置输入框输入字符限制,Android EditText限制输入字符的方法总结
Android EditText限制输入字符的方法总结 最近项目要求限制密码输入的字符类型, 例如不能输入中文. 现在总结一下EditText的各种实现方式, 以比较各种方法的优劣. 第一种方式 ...
- Android EditText设置弹出数字输入法键盘
Android EditText 设置弹出数字输入法键盘 首先设置只能输入数字: <EditText Android:id="@+id/edit_digit_input" a ...
- Android EditText设置边框
Android EditText设置边框 简介 Android应用程序中给EditText设置边框. 效果图: 快速开始 在res/drawable目录下新建样式文件 edit_background. ...
最新文章
- Log4Net五步走
- python pytest和allure环境_【转载】Python—Pytest+Allure定制报告
- Jacob Java程序把Word文档直接转换成Html文件
- 变量延迟(setlocal)之浅见
- linux mysql插入数据乱码_解决Linux下Tomcat向MySQL插入数据中文乱码问题
- javascript中组合使用构造函数模式和原型模式创建对象
- JS基础--ES5创建对象的7种模式
- 360安全浏览器安装adblock plus
- CTA策略01_dualThrust
- 计算机论文研究思路怎么写,论文的研究思路怎么写
- 走,上高架,看看Momenta“飞轮式L4”的“微操”技巧
- 为什么你只是产品经理,而总监是总监?
- mysql快速建表工具_我所知道的MYSQL快速建表的3种方法
- 广告(文案)与营销(市场、传播和创意)
- “5G通达,AI赋能“ AI在网络规划中的应用实践(人工智能应用案例)
- MySQL数据库任意IP连接设置
- 彻底清除SMSS.EXE病毒
- PDFbox的head is mandatory问题
- qq 第三方登录代码 泪哭
- 四、PCI总线上的数据传输过程
热门文章
- JavaSE(二十五)——String与StringBuffer、StringBuilder的区别、创建对象的几种方法、Http和Https的区别
- moldflow2018安装教程
- 如何查看进程的运行路径
- 计算机视觉与深度学习 | 深度学习与VO、SLAM、三维重建【论文及代码篇】
- Matlab | 数字信号处理:FIR滤波器结构的实现
- dtm文件生成等高线 lisp_DEM、DSM和DTM的区别
- Java基础day22
- go语言基础到提高(1)-hello,world
- 图神经网络概述:Graph Neural Networks
- 【数据竞赛】组合特征的构建技巧,如何快速构建百大组合特征池