Android修行手册-TextView属性篇

举报
芝麻粒儿 发表于 2022/01/23 18:47:48 2022/01/23
【摘要】 我于杀戮之中盛放,亦如黎明中的花朵。本文2万字,新手阅读需要15分钟,复习需要5分钟 【收藏随时查阅不再迷路】 👉关于作者众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源...

我于杀戮之中盛放,亦如黎明中的花朵。

本文2万字,新手阅读需要15分钟,复习需要5分钟 【收藏随时查阅不再迷路】

👉关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣 !!!
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎私我,交流群让学习不再孤单

👉前提

文字是人类用符号记录表达信息以传之久远的方式和工具。几千年来我们都在乐此不疲地使用它。于你于我于她,没有高低贵贱之分。

这是小空写的Android手册系列,欢迎品尝。

TextView是Android中最简单也是最常见的控件。今天小空就带大家会会她。

👉实践过程

😜常用属性

  • android:gravity:内部对齐方式:左对齐,右对齐,居中对齐,顶部对齐,底部对齐这些。
  • android:inputType:设置文本的数据类型,如果包含非该类型的文本则不显示,如设置为number类型,如果文本有非数字类型文本,则文本显示不出来。类型有:( “none”:输入普通字符、“text”:输入普通字符、“textCapCharacters”:输入普通字符、“textCapWords”:单词首字母大小、“textCapSentences”:仅第一个字母大小、“textAutoCorrect”:前两个自动完成、“textAutoComplete”:前两个自动完成、“textMultiLine”:多行输入、“textImeMultiLine”:输入法多行(不一定支持)、“textNoSuggestions”:不提示、“textUri”:URI格式、“textEmailAddress”:电子邮件地址格式、“textEmailSubject”:邮件主题格式、“textShortMessage”:短消息格式、“textLongMessage”:长消息格式、“textPersonName”:人名格式、“textPostalAddress”:邮政格式、“textPassword”:密码格式、“textVisiblePassword”:密码可见格式、“textWebEditText”:作为网页表单的文本格式、“textFilter”:文本筛选格式、“textPhonetic”:拼音输入格式、“number”:数字格式、“numberSigned”:有符号数字格式、“numberDecimal”:可以带小数点的浮点格式、“phone”:拨号键盘、“datetime”:日期+时间格式、“date”:日期键盘、“time”:时间键盘)。
  • android:lines:设置文本多少行,当长度超出该值时,超出文本部分不显示和android:minLines属性类似。
  • android:maxLines:设置文本最大多少行,当文本达到改行数还没显示完,超出部分不显示,和android:lines属性类似。
  • android:maxLength:控制文本最多显示多少个字符,比如你设置了10,而文本有几十个字,最终效果只能显示10个字。
  • android:drawableBottom:TextVie底部出现一个图片。
  • android:drawableEnd:TextView右侧出现一个图片。
  • android:drawableRight:TextView右侧出现一个图片。
  • android:drawableLeft:TextView左侧出现一个图片。
  • android:drawableStart:TextView左侧出现一个图片。
  • android:drawablePadding:是设置text与drawable(图片等)的间隔,一般都与drawableLeft、drawableStart 、drawableEnd 、drawableRight、drawableTop、drawableBottom一起使用。
  • android:drawableTop:TextView上部出现一个图片。
  • android:minLines:限制文本最低多少行显示。
  • android:singleLine:布尔类型,表示是否单行显示,已经废弃,建议用android:lines。
  • android:text:设置显示的文本。
  • android:textSize:设置文本大小。
  • android:textStyle:设置文本样式。
  • android:typeface:设置文本的字体,monospace:等宽字体,sans:无衬线字体,serif:衬线,normal:普通字体。
  • android:fontFamily:字体家,里面可以有多个字体,可搭配字体权重,引用的是xml文件,例如【android:fontFamily="@font/myfont"】,文件在【res-font中】。
  • android:textFontWeight:设置使用的字体的权重,权重高使用谁,和android:fontFamily一起使用。
  • android:hint:提示文本在文本空时显示,和EditText的hint是同等之妙。
  • android:textColorHint:设置android:hint属性文本的颜色。
  • android:shadowColor:设置所有文本阴影的颜色,shadowColor、shadowDx、shadowDy、shadowRadius同时使用实现立体文字效果,味道极佳。
  • android:shadowDx:设置所有文本x轴即水平偏移,右为正,左为负,shadowColor、shadowDx、shadowDy、shadowRadius同时使用实现立体文字效果,味道极佳。
  • android:shadowDy:设置所有文本y轴即垂直偏移,下为正,上为负,shadowColor、shadowDx、shadowDy、shadowRadius同时使用实现立体文字效果,味道极佳。
  • android:shadowRadius:设置所有文本阴影的半径,shadowColor、shadowDx、shadowDy、shadowRadius同时使用实现立体文字效果,味道极佳。
  • android:textColor:设置文本的颜色。
  • android:textColorHighlight:设置点击后文本的背景色,比如android:autoLink="web"为超链接的时候,点击后背景色会展示android:textColorHighlight设置的。
  • android:textColorLink:设置文本是链接类型的颜色,和android:autoLink="web"联合使用。
  • android:textCursorDrawable:设置光标颜色,这个应用在EditText输入框View中,而且是自定义的drawable文件。
  • android:textScaleX:设置文本的水平缩放程度,大于1,x方向拉长,看起来更胖了,小于1,x方向缩短,看起来更瘦了。
  • android:autoLink:指定连接形式文字,可以是(“web”:匹配网页模式,点击跳转浏览器应用打开网页、“all”:匹配所有模式(相当于网络|电子邮件|电话|图)、“email”:匹配电子邮件地址,点击后自动跳转邮箱相关的应用、“phone”:匹配电子邮件地,点击后自动跳转拨号页面、“none”:默认值,什么也没有)。
  • android:ellipsize:设置省略号(“start”:省略号显示在开头、“end”:省略号显示在结尾、“middle”:省略号显示在中间、“marquee” :以[跑马灯]的方式显示(动画横向移动)),如果TextView的layout_width和layout_height是指定了像素的固定宽高,该属性会直接生效,如果宽高是"wrap_content"类型的,则需要同时结合【android:maxLines】和【android:maxEms】属性才可生效。
  • android:ems:代表的是字符M的宽度,注意不同的设备M的宽度不同,假设设置为6,则可显示文本的长度为6个M的长度。
  • android:maxEms:设置视图最多ems宽。
  • android:minEms:设置视图最小ems宽。
  • android:enabled:设置控件针对点击事件是否启用,每个view都有,设置为true则点击事件无响应。

😜不常用属性

  • android:maxHeight:设置文本高度最大可以达到的像素,当【layout_height=“wrap_content”】时候有作用。
  • android:maxWidth:设置文本宽度最大可以达到的像素,当【layout_width=“wrap_content”】时候有作用。
  • android:scrollHorizontally:设置文本是否横向滚动,可以和(android:ellipsize=“marquee”、android:focusable=“true”、android:focusableInTouchMode=“true” 、android:marqueeRepeatLimit=“marquee_forever”、android:singleLine=“true”、 android:scrollHorizontally=“true”)结合形成跑马灯效果。
  • android:allowUndo:设置是否支持撤销功能,EditText同样具有该功能且默认是true,在手机上可能用的少,但是手机连上了键盘外设了可以用快捷键【Ctrl+Z】回到上一次。
  • android:autoSizeMaxTextSize:设置缩放的最大字体大小,默认是112sp,达到该值后不会再放大,需要android:autoSizeTextType为uniform。
  • android:autoSizeMinTextSize:设置缩放的最小字体大小,默认是12sp,达到该值后不会再缩小,需要android:autoSizeTextType为uniform。
  • android:autoSizePresetSizes:自己预设放大缩小字体大小数组,首先创建【res/values/arrays.xml】,在里面设置个数组字体大小10sp/16sp/20sp/30sp/100sp,利用android:autoSizePresetSizes引用数组的name,然后放大缩小的时候就是按照这个梯度,不再按照autoSizeStepGranularity属性力度,需要android:autoSizeTextType为uniform。
  • android:autoSizeStepGranularity:设置放大缩小的力度,假设该值为2sp,则自动放大是10sp-12sp-14sp这样以2自增的,需要android:autoSizeTextType为uniform。
  • android:autoSizeTextType:设置是否支持字体自动缩放填充满空间大小。
  • android:autoText:开启后自动帮你检查拼写错误。
  • android:breakStrategy:换行策略,“simple”:一行显示不完换下一行,文本默认就是这种形式,“balanced”:平衡方式,尽可能的保证每行宽度相同,“high_quality”:影响性能,会自动添加连词符,适合只读文本。
  • android:bufferType:指定代码中getText获得的文本类型,如果是editable则返回的类似于StringBuilder,可以利用append追加字符,如果是spannable则可在给定的字符区域使用样式。
  • android:capitalize:主要用于EditText,而且一般用键盘外设情况下,sentences:仅第一个字母大写,words:每一个单词首字母大小,用空格区分单词;characters:每一个英文字母都大写。
  • android:cursorVisible:设置光标是否可见,主要是EditText的闪烁的那个线
  • android:digits:主要用于EditText,限定输入字符,如设置android:digits=“公众号:空名先生”,输入的时候只接收这几个显示,其他的都不显示。
  • android:drawableTint:设置drawable图片的颜色,会和图片重叠显示,造成很棒的效果,和android:drawableBottom、android:drawableEnd、android:drawableRight、android:drawableLeft、android:drawableStart,这些属性同时使用。
  • android:drawableTintMode:表示用什么样的形式将drawableTint和drawable上下左右这些结合绘制。add:结合色调和drawable颜色以及Alpha通道,将结果t调整到有效的颜色值,multiply:将drawable的颜色和alpha通道与色调相乘,src_atop:色调在drawable上方绘制,但是drawable的alpha通道掩盖了结果,src_in:色调被drawable的alpha通道遮盖。 drawable的颜色通道被抛出,src_over:色彩绘制在drawable的顶部。
  • android:editable:TextView默认是false,EditText默认是true,主要用于EditText,代表是否能进行文本输入。
  • android:editorExtras:设置文本的额外的输入数据。
  • android:elegantTextHeight:优雅的文本高度,尤其是对于不太紧凑的复杂脚本文本。
  • android:fallbackLineSpacing:小空也不知道是个什么玩意。
  • android:fontFeatureSettings:字体功能设置,用的很少。
  • android:fontVariationSettings:设置TrueType或OpenType字体变体设置,应用场景少。
  • android:freezesText:暂时没遇见应用场景,如果设置,文本视图将包括其冻结冰柱内的当前完整文本,以及元数据(如当前光标位置)。
  • android:hyphenationFrequency:连词符的频率,“normal”:适用于聊天消息,“none”:没有连字符,“full”:标准连词符。
  • android:imeActionId:主要在EditText使用,设置IME动作ID。
  • android:imeActionLabel:主要在EditText使用,设置IME动作标签。
  • android:imeOptions:主要在EditText使用,附加功能,设置右下角IME动作与编辑框相关的动作。
  • android:includeFontPadding:设置TextView是否包含额外的顶部和底部填充。
  • android:inputMethod:主要在EditText使用,为文本设置数据类型(date:输入日期、datetime:用于输入日期和时间、none:没有内容类型、number:仅限数字字段、numberDecimal:可以与数字及其他选项组合以允许小数(小数)数字、numberPassword:数字密码字段、numberSigned:可以与数字及其他选项结合使用以允许签名的数字、phone:用于输入电话号码、text:只是简单的旧文本、textAutoComplete:可以与文本及其变体结合使用,以指定此字段将执行自己的自动完成并适当地与输入方法进行通信、textAutoCorrect:可以与文本及其变体结合使用,以请求自动更正正在输入的文本、textCapCharacters:可以与文本及其变体结合使用,以请求所有字符的大写、textCapSentences:可以与文本及其变体结合使用,以请求每个句子的第一个字符的大写、textCapWords:可以与文本及其变体结合使用,以请求每个单词的第一个字符的大写、textEmailAddress:将用作电子邮件地址的文本、textEmailSubject:作为电子邮件主题提供的文本、textFilter:正在过滤其他一些数据的文本、textImeMultiLine:可以与文本及其变体结合使用,表明虽然常规文本视图不应该是多行,但IME应该提供多行、textLongMessage:作为长消息内容的文本、textMultiLine:可以与文本及其变体结合使用,以允许字段中的多行文本、textNoSuggestions:可以与文本及其变体结合使用,以指示IME不应显示任何基于字典的单词建议、textPassword:作为密码的文本、textPersonName:作为人名的文字、textPhonetic:用于语音发音的文本,例如联系人条目中的语音名称字段、textPostalAddress:作为邮寄地址提供的文本、textShortMessage:作为短消息内容的文本、textUri:将用作URI的文本、textVisiblePassword:作为应该可见的密码的文本、textWebEditText:在Web表单中作为文本提供的文本、textWebEmailAddress:将用作Web表单上的电子邮件地址的文本、textWebPassword:将用作Web表单上的密码的文本、time:输入时间)
  • android:justificationMode:对齐模式。inter_word:通过拉伸字间距来实现对齐,none:不对齐。
  • android:letterSpacing:文本之间的间距,可为浮点型。
  • android:lineSpacingExtra:文本行间距,最后一行不算。
  • android:lineSpacingMultiplier:文本行间距,默认值乘该数。
  • android:linksClickable:默认为true,如果是false,autoLink属性中的链接将没作用。
  • android:marqueeRepeatLimit:设置重复选取框动画的次数。仅在TextView启用了选取框时应用。设置为-1可无限重复。
  • android:minHeight:设置最小高度。
  • android:minWidth:设置最小宽度。
  • android:numeric:主要用于EditText,默认为false,设置后会是设置的数字类型。decimal:输入为数字,允许小数,integer:数字类型,signed:输入为数字,允许使用符号。
  • android:password:文本将以密码点的形式显示,而不是文字本身。
  • android:phoneNumber:具有电话号码类型。
  • android:privateImeOptions:主要用于EditText,向文本视图附加的输入法提供附加内容类型描述,该说明对输入法的实施是私密的。
  • android:selectAllOnFocus:如果文本是可选的,请在视图获得焦点时全部选择。
  • android:textAppearance:设置文字外观。
  • android:textSelectHandle:置与用于在文本中定位光标的选择句柄对应的Drawable。
  • android:textSelectHandleLeft:设置与用于选择文本的左手柄对应的Drawable。
  • android:textSelectHandleRight:设置与用于选择文本的右手柄对应的Drawable。

👉其他

📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:https://zhima.blog.csdn.net/
📢欢迎点赞👍收藏🌟留言📝

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。