EditText继承关系:View–>TextView–>EditText

一、常用属性(包括textView的一些属性):

  • android:numeric=”integer”//设置只能输入整数,如果是小数则是:decimal
  • android:singleLine=”true”//设置单行输入,一旦设置为true,则文字不会自动换行。
  • android:password=”true”//设置只能输入密码
  • android:capitalize = “characters”//以大写字母写

  • android:textAlign=”center”//EditText没有这个属性,但TextView有,居中

  • android:layout_gravity=”center_vertical”//设置控件显示的位置:默认top,这里居中显示,还有bottom
  • android:gray=”top” //多行中指针在第一行第一位置
  • android:textStyle=”bold”//字体,bold, italic, bolditalic
  • android:textScaleX=”1.5”//控制字与字之间的间距

  • android:textColorHighlight=”#cccccc”//被选中文字的底色,默认为蓝色

  • android:hint=”请输入数字!”//设置显示在空间上的提示信息

  • android:typeface=”monospace”//字型,normal, sans, serif, monospace

  • android:background=”@null”//背景,这里没有,指透明

  • android:cursorVisible设定光标为显示/隐藏,默认显示

  • et.setSelection(et.length());//调整光标到最后一行

  • android:textAppearance=”?android:attr/textAppearanceLargeInverse”//文字外观,这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。不知道这样理解对不对?

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

  • android:autoText //自动拼写帮助 如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。
  • android:bufferType //指定getText()方式取得的文本类别。选项editable 类似于StringBuilder可追加字符, 也就是说getText后可调用append方法设置文本内容。spannable 则可在给定的字符区域使用样式,
  • android:capitalize //设置英文字母大写类型。此处无效果,需要弹出输入法才能看得到,参见EditView此属性说明。
  • android:digits //设置允许输入哪些字符。如“1234567890.+-*/% ()”
  • android:drawableBottom //在text的下方输出一个drawable,如图片。如果指定一个颜色的话会把text的背景设为该颜色,并且同时和background使用时覆盖后者。
  • android:drawableLeft //在text的左边输出一个drawable
  • android:drawablePadding //设置text与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。
  • android:drawableRight //在text的右边输出一个drawable
  • android:drawableTop //在text的正上方输出一个drawable
  • android:editable //设置是否可编辑。
  • android:editorExtras //设置文本的额外的输入数据。

  • android:freezesText //设置保存文本的内容以及光标的位置。

  • android:gravity //设置文本位置,如设置成“center”,文本将居中显示。
  • android:hintText //为空时显示的文字提示信息,可通过textColorHint设置提示信息的颜色。此属性在EditView中使用,但是这里也可以用。
  • android:imeOptions //附加功能,设置右下角IME动作与编辑框相关的动作,如actionDone右下角将显示一个“完成”,而不设置默认是一个回车符号。这个在EditView中再详细说明,此处无用。

  • android:includeFontPadding //设置文本是否包含顶部和底部额外空白,默认为true。

  • android:inputMethod //为文本指定输入法,需要完全限定名(完整的包名)。例如:com.google.android.inputmethod.pinyin,
  • android:inputType //设置文本的类型,用于帮助输入法显示合适的键盘类型。在EditView中再详细说明,这里无效果。

  • android:ellipsize //设置当文字过长时,该控件该如何显示。有如下值设置:”start”—?省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间;”marquee” ——以跑马灯的方式显示(动画横向移动)

  • android:linksClickable //设置链接是否点击连接,即使设置了autoLink。
  • android:marqueeRepeatLimit在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为marquee_forever时表示无限次。

  • android:singleLine //设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。如android:text=”test_ singleLine ” android:singleLine=”true” android:layout_width=”20dp”将只显示“t…”。如果不设置singleLine或者设置为false,文本将自动换行

  • android:ems //设置TextView的宽度为N个字符的宽度。

  • android:maxEms //设置TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems选项。
  • android:minEms //设置TextView的宽度为最短为N个字符的宽度。与ems同时使用时覆盖ems选项。
  • android:maxLength //限制显示的文本长度,超出部分不显示。
  • android:lines //设置文本的行数,设置两行就显示两行,即使第二行没有数据。
  • android:maxLines //设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数将不显示。
  • android:minLines //设置文本的最小行数,与lines类似。
    - android:lineSpacingExtra //设置行间距。
  • android:lineSpacingMultiplier //设置行间距的倍数。如”1.2”

  • android:password //以小点”.”显示文本

  • android:phoneNumber //设置为电话号码的输入方式。

  • android:scrollHorizontally //设置文本超出TextView的宽度的情况下,是否出现横拉条。

  • android:selectAllOnFocus //如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置。

  • android:shadowColor //指定文本阴影的颜色,需要与shadowRadius一起使用。效果:

  • android:shadowDx //设置阴影横向坐标开始位置。
  • android:shadowDy //设置阴影纵向坐标开始位置。
  • android:shadowRadius //设置阴影的半径。设置为0.1就变成字体的颜色了,一般设置为3.0的效果比较好。

  • android:textStyle //设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置一个或多个,用“|”隔开

  • android:typeface //设置文本字体,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字体) 3]
  • android:height //设置文本区域的高度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)
  • android:maxHeight //设置文本区域的最大高度
  • android:minHeight //设置文本区域的最小高度
  • android:width //设置文本区域的宽度,支持度量单位:px(像素)/dp/sp/in/mm(毫米),与layout_width的区别看这里。
  • android:maxWidth //设置文本区域的最大宽度
  • android:minWidth //设置文本区域的最小宽度

二、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”–时间键盘

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); // 禁止输入(不弹出输入法)

三、一些小技巧

1、editor密码隐藏,怎么写?
有2种方法处理:
代码方法:input.setInputType(InputType.TYPE_CLASS_TEXT |InputType.TYPE_TEXT_VARIATION_PASSWORD);
layout配置方法:android:inputType=”textPassword”

2、activity加载完成后,edit输入框会自动弹出输入法,可以通过以下代码屏蔽:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

3、设置EditText始终不弹出软件键盘
例:EditText edit=(EditText)findViewById(R.id.edit);
edit.setInputType(InputType.TYPE_NULL);

4、让 EditText失去焦点,使用EditText的clearFocus方法
例如:EditText edit=(EditText)findViewById(R.id.edit);
edit.clearFocus();
// et.requestFocus(); 请求获取焦点
// et.clearFocus(); 清除焦点

5、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>

6、设置光标到指定位置
EditText et = (EditText) findViewById(R.id.etTest);
et.setSelection(2);
//设置光标不显示,但不能设置光标颜色
et.setCursorVisible(false);

7、获得焦点时全选文本
et.setSelectAllOnFocus(true);

8、使用EditText的setError提示
et.setError(“邮箱”);

自定义图标的setError提示
Drawable dr = getResources().getDrawable(R.drawable.ic_launcher);
dr.setBounds(0, 0, 10, 10); //必须设置大小,否则不显示
et.setError(“有错误提示”, dr);

4、输入法Enter键图标的设置:

android键盘中的enter键图标是可以用EditText的android:imeOptions标签变更的。
显示search图标需要设置为android:imeOptions=”actionSearch”,android:inputType=”text”将键盘设置为文字输入布局
则键盘中search按钮正常出现。
捕捉编辑框软键盘enter事件:
1)setOnKeyListener
2)OnEditorActionListener

实现android按下回车键便隐藏输入键盘,有两种方法:
1)如果布局是多个EditText,为每个EditText控件设置android:singleLine=”true”,弹出的软盘输入法中回车键为next,直到最后一个获取焦点后显示为Done,点击Done后,软盘输入键盘便隐藏。或者将EditText的imeOptions属性设置android:imeOptions=”actionDone”,则不管是不是最后一个EditText,点击回车键即隐藏输入法。
2)监听Enter的事件,编写Enter的事件响应。设置文本框的OnKeyListener,当keyCode ==KeyEvent.KEYCODE_ENTER的时候,表明Enter键被按下,就可以编写自己事件响应功能了

EditTextpassword=(EditText)findViewById(R.id.password);
password.setOnKeyListener(newOnKeyListener(){if(keyCode==KeyEvent.KEYCODE_ENTER){
InputMethodManagerimm=(InputMethodManager)v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
if(imm.isActive()){
imm.hideSoftInputFromWindow(v.getApplicationWindowToken(),0);
}}}
});

android:imeOptions,这个属性的可以取的值有normal,actionUnspecified,actionNone,actionGo,actionSearch,actionSend,actionNext,actionDone,例如当值为actionNext时enter键外观变成一个向下箭头,而值为actionDone时enter键外观则变成了“完成”两个字。
这里举几个常用的常量值:
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

EditText属性和一些小技巧相关推荐

  1. arcgis属性表选择两个条件_arcgis中按属性选择的小技巧

    今天恰好又用到了ArcGIS,不过在属性表中选择字段的时候,发现自己遇到了一点点疑惑,相信也存在和我有同样遭遇的同学,因此,我决定写一些关于属性选择的技巧,仅仅是自己的学习笔记,以便之后运用回忆,同时 ...

  2. #根据名称给实体类属性赋值_java 对象属性拷贝的小技巧

    使用org.springframework.beans.BeanUtils.copyProperties方法进行对象之间属性的赋值,避免通过get.set方法一个一个属性的赋值. copyProper ...

  3. 一个ABAP调试器里查看类的静态属性的小技巧

    我们知道,像如图一这种类的静态属性,因为不属于类的实例所有,因此调试到这个类的方法内部时,只能通过图二演示的两种方式在调试器显示该属性的值.而一旦调试到该类方法的外部,通常就只能通过"类名= ...

  4. css 选择href属性值,巧用CSS属性值正则匹配选择器(小技巧)

    属性值正则匹配选择器包括下面3种: [attr^="val"] [attr$="val"] [attr*="val"] 这3种属性选择器是字 ...

  5. 小六六平时的开发小技巧一(公共属性填充))

    前言 " 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/bin392328206/six-finger " 絮叨 小六六打算开一个系列把自己 ...

  6. javascript小技巧JavaScript[对象.属性]集锦(转自飛雪飄寒 )

    javascript小技巧&&JavaScript[对象.属性]集锦,建议你 ctrl+F  直接在这个页上找,因为这里80%有你要找的! javascript小技巧 事件源对象 ev ...

  7. edittext 无法输入内容_掌握其中1个Excel小技巧,你就不用再担心会重复录入内容了。...

    在Excel中录入资料时,由于精神不集中或则数据量太大,很可能会发生重复录入的情况.其实,只要你掌握了以下2个小技巧的其中1个,就大可不必担心会重复录入内容. 技巧1.标记重复值 这个方法简单易记,只 ...

  8. Android 小技巧

    为什么80%的码农都做不了架构师?>>>    原文出处: Dan Lew   译文出处:Android Performance 前言 本文是一篇译文,这篇是这个系列的第一篇.讲述的 ...

  9. 安卓使用小技巧 (转)

    2019独角兽企业重金招聘Python工程师标准>>> 看别人博客,有些小技巧就直接转过来了,以后做开发可以大大提高开发效率.以下代码片摘自多个博客和自己平时的学习积累,若原作者认为 ...

最新文章

  1. Nginx搭建负载均衡集群
  2. 将前台日期格式转成与数据库日期格式相对应,后台java转数据库日期格式
  3. 突发 | Yann LeCun卸任!Facebook变天,做AI不能落地是不成了
  4. 挖机冬天施工不好启动?明火助燃为何不行?
  5. go errgroup 用法示例
  6. 分区供水条件口诀_口诀记忆 | 消防给水和消火栓系统的“月检”(重点学习)...
  7. Android九点阵手势识别,能量黑科技模块八-九:两路按键颜色手势魔块
  8. 不重复的两两比较(洛谷P5728题题解,Java语言描述)
  9. 蚂蚁金服数据分析平台演进及数据分析方法应用.pdf(附PPT下载链接)
  10. oracle的一些操作
  11. markdown首行空两格
  12. centos6.5安装mysql-udf-http日记
  13. VB 共享软件防破解设计技术初探(一)
  14. 虚拟机修改hosts文件
  15. 数学建模计算机模拟实验答案,数学建模与数学实验课后习题答案.doc
  16. 开发一个APP到底要多少钱?
  17. psql中character varying和character区别
  18. pubwin2009服务端 修改系统时间方法
  19. 第二十二篇玩转【斗鱼直播APP】系列之弹出房间界面
  20. 今天睡眠质量记录77

热门文章

  1. matlab拟合系数精度怎么调,Matlab中拟合函数的系数错误
  2. nginx启动无反应
  3. 2021_lg_03.SQL实战:如何用sql计算用户留存问题
  4. tensorflow 2.0 基础操作 之 不同 dim 对应的具体含义
  5. Cesium 系列1 - 简介及源码下载发布
  6. [NewStarCTF] Word-For-You
  7. shell 脚本中常见的 if [ $? -ne 0 ]; 意思
  8. NEXTCHIP-图像优化师
  9. mysql 查询数据库ip_如何查看连接MYSQL数据库的IP信息
  10. 启发式算法与元启发式算法的区别