今天说一说简单的问题:
可以看到android studio 在xml布局文件中输入singleLine时可以看到提示已过时的标志。
先看下singleLine的注释;
Use maxLines instead to change the layout of a static text,
and use the textMultiLine flag in the inputType attribute instead for editable text views
the inputType flags will override the value of singleLine
说的已经比较清楚了.之前没有认真看注解导致尝试了半天.
-
在textview中使用maxLines代替singleline的作用
-
在editTextView中,使用inputType来限制行数
- inputType为text时单行显示,number,textpassword在类别上归属于textview,效果等同
- inputType为textMultiLine才会多行显示
-
inputType的效果会覆盖singleLine的效果.
因为inputType包含了singleLine,并且会覆盖singleLine的效果,所以singleLine估计才被定义为过时
分界线:本文完.
下面是我自己的验证(瞎折腾)过程
-
是不是inputType必须为text
答:不是。当替换成number,textpassword时,也是没有换行的. -
如果设置了inputType = text时可以单行显示了。那么默认的inputTextType是啥呢?
答:直接看下源码,editTextView中没有看到,看父类TextView.可以看到默认值是EditorInfo.TYPE_NULL -
maxLines=1真的有效果吗?直接去掉.
答:maxLines在editText中是无效的.之前没注意看注解,冤枉了maxLines -
看到文档理解成maxLines是和textMultiLine共同使用才有作用的
答:理解有误,请直接无视 -
验证猜想:如果设置了singleLine = true,同时设置textMultiline呢.
答:注解中说的很清楚了.input会覆盖single.
闲说:之前一直不想写博客,因为觉得受限于第三方软件平台,笔记软件.
明明是自己的劳动成果,但是有一天平台限制了,自己辛辛苦苦写的博客想要导出或者保存却都不行.
但是自己却一直是个百度党,先感谢之前辈的无私分享.
所以决定,博客有空还是要写写的,自己本地也做个备份,尽可能避免成为平台的牺牲品.