「这是我参与2022首次更文挑战的第11天,活动详情查看:2022首次更文挑战」。
👉关于作者
众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
欢迎关注公众号【空名先生】获取更多资源和交流!
👉前提
这是小空坚持写的Android新手向系列,欢迎品尝。
大佬(×)
新手(√)
👉实践过程
今天我们继续学习EditText-她是程序和用户进行交互极其重要的控件。所有的App关于输入和编辑内容基本都用的这个控件来进行处理,基于该控件又封装了搜索,登录,输入限制,聊天框,内容编辑等组件。
EditText继承自TextView,所以拥有TextView的“全部”功能,让我们抓紧领略下EditText的神奇吧。
在布局中我们先简单看下:
<EditText
android:layout_width="160dp"
android:layout_height="wrap_content"
android:textColor="#ff0000"
android:hint="芝麻粒儿提醒请输入您的内容" />
细心的你运行后一定发现,浅灰色内容默认显示,当输入真正内容的时候就自动消失了。没错,那是友好型提示文本。Android发展到现在,这已经是基操了。而且也不用我们多做什么逻辑,只需要一个属性即可实现【android:hint=""】,剩下的系统自动处理,很方便。
😜属性介绍
上面也说了该控件继承自TextView,所以属性操作和TextView一致,关于TextView都有哪些属性,可以去看小空关于TextView的介绍,里面列举说明了基本所有属性。我们在此讲一些常用属性。
android:textStyle="bold" :设置文本样式,bold(粗体), italic(斜体), bold|italic(粗斜体)
android:textColorHighlight="":设置选中文本的颜色
android:textScaleX="1.5":设置水平方向字与字之间的间距
android:textScaleY="1.5":设置垂直方向字与字之间的间距
android:typeface="monospace" :设置文本的字体,monospace:等宽字体,sans:无衬线字体,serif:衬线,normal:普通字体。
android:textColorHint="":设置提示文本Hint的文本颜色
android:selectAllOnFocus:设置输入框获取焦点后是否选中所有文本,当为true的时候选中所有文本,默认为false。
输入类型限制是很常用的了,比如仅仅显示数字,或者密码类型,也能减少bug产出。
重点声明:以下属性针对Android原生系统和输入法是都支持的,针对国内系统和三方输入法有些属性是失效的。所以小空在这只列举常用的属性,小心别进坑了。
android:inputType="none":EditText无限制,可以任意输入
android:inputType="text":任何文本,等同于none
android:inputType="textMultiLine":多行输入,该属性会导致android:imeOptions属性失效
android:inputType="textUri":网址类型
android:inputType="textEmailAddress":电子邮件类型
android:inputType="textPersonName":人名类型
android:inputType="textPostalAddress":地址类型
android:inputType="textPassword":密码类型
android:inputType="textVisiblePassword":可见密码类型
android:inputType="textWebEditText":网页变淡文本
android:inputType="number" :数字类型
android:inputType="numberSigned": 带符号数字格式
android:inputType="numberDecimal" :带小数点的浮点格式
android:inputType="phone" :拨号键盘类型
android:inputType="datetime" :时间日期类型
android:inputType="date" :日期键盘类型
android:inputType="time" :时间键盘类型
android:digits="0123456789":设置只能显示哪些字符,如果内容较多不适用
输入的时候控制键盘(回车键/确认键)的不同行为,该属性同上面一样,针对官方的输入法适用,但国内有很多不同的三方输入法,不一定有效,不过自定义键盘的时候会用到。
android:imeOptions="flagNoExtractUi" :使软键盘不全屏显示,只占用一部分屏幕 同时,这个属性还能控件软键盘右下角按键的显示内容,默认情况下为回车键
android:imeOptions="actionNone" :输入框右侧不带任何提示
android:imeOptions="actionGo" :右下角按键内容为'开始'
android:imeOptions="actionSearch" :右下角按键为放大镜图片,搜索
android:imeOptions="actionSend":右下角按键内容为'发送'字样
android:imeOptions="actionNext" :右下角按键内容为'下一步' 或’下一项’ 字样
android:imeOptions="actionDone" :右下角按键内容为'完成'字样
👉其他
📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:芝麻粒儿 的个人主页 - 专栏 - 掘金 (juejin.cn)
📢欢迎点赞👍收藏🌟留言📝