最后
题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多程序员朋友无法获得正确的资料得到学习提升,故此将并将重要的Android进阶资料包括自定义view、性能优化、MVC与MVP与MVVM三大框架的区别、NDK技术、阿里面试题精编汇总、常见源码分析等学习资料。
【Android思维脑图(技能树)】
知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。
【Android进阶学习视频】、【全套Android面试秘籍】
希望我能够用我的力量帮助更多迷茫、困惑的朋友们,帮助大家在IT道路上学习和发展
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
文字是人类用符号记录表达信息以传之久远的方式和工具。几千年来我们都在乐此不疲地使用它。于你于我于她,没有高低贵贱之分。
这是小空写的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相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的14套腾讯、字节跳动、阿里、百度等2021面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
,可以戳这里获取](https://bbs.csdn.net/topics/618156601)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!