single无效,使用maxLines???

文章目录

        • maxLines vs singleLine
          • 尝试使用maxLines
          • maxLines无效?
        • 结论:

maxLines vs singleLine

今天说一说简单的问题:

可以看到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 
尝试使用maxLines

推荐使用maxLines。好,先测试下。

靠maxLines=1无效,靠还不如singleLine呢.

maxLines无效?

节约时间,百度.哦,原来要设置textType为text.

当inputtype 设置为text时,软键盘上的换行符号不见了.
好吧,也算实现了单行吧.
感觉不靠谱呀,再直接将EditText默认一堆文字(包括换行符号\n),
嗯。确实也在在一行显示了。

继续进行了诸多测试:

  1. 是不是inputType必须为text
    答:不是。当替换成number,textpassword时,也是没有换行的.

  2. 如果设置了inputType = text时可以单行显示了。那么默认的inputTextType是啥呢?
    答:直接看下源码,editTextView中没有看到,看父类TextView.可以看到默认值是EditorInfo.TYPE_NULL

  3. maxLines=1真的有效果吗?直接去掉.

    喵?小爷感觉智商收到了侮辱,他喵的和maxLines就没关系好吧.

    maxLines=1去除后照样可以单行显示。将maxLines=2时也没有2行显示。

  4. 看到文档说的maxLines是和textMultiLine共同使用才有作用的?
    设置maxLines=1,intypeType = textMultiline时。也是无法单行显示的。

  5. 验证猜想:如果设置了singleLine = true,同时设置textMultiline呢.

    singleLine同样战败,失去单行显示的效果.敌羞吾去脱他衣.

结论:

最后说下我的结论:

singleLine过时了,但是代替方法不是maxLines。而是inputType.

这里我觉得官方在误导我,也可能是之前是使用maxLine代替singleLine的,但是后面修改了。

只要inputType非textMultiline时就会单行显示。

6. line和maxlines,minLines的区别?
line :初始默认显示两行的高度,当内容超过两行时,前面的行数将超过可视范围,但是不限制你换行。
maxLine:没有设置line时,当超过最大line时,前面的行数不可见。

闲说:之前一直不想写博客,因为觉得受限于第三方软件平台,笔记软件.
明明是自己的劳动成果,但是有一天平台限制了,自己辛辛苦苦写的博客想要导出或者保存却都不行.
但是自己却一直是个百度党,先感谢之前辈的无私分享.
所以决定,博客有空还是要写写的,自己本地也做个备份,尽可能避免成为平台的牺牲品.

你可能感兴趣的:(android,maxLines,singleLine,android)