熬夜再战Android从青铜到王者-TextView不常用属性篇【建议收藏】

1,518 阅读8分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

👉关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)

欢迎关注公众号【空名先生】获取更多资源和交流!

👉前提

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

这是小空熬夜写的Android系列,欢迎品尝。

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

👉实践过程

  • 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。

👉其他

📢作者:小空和小芝中的小空

📢转载说明-务必注明来源:芝麻粒儿 的个人主页 - 专栏 - 掘金 (juejin.cn)

📢欢迎点赞👍收藏🌟留言📝