安卓 EditText 的 singleLine="true" 与 maxLines="1"

作者:vkvi 来源:ITPOW(原创) 日期:2018-5-17

当我们为 EditText 设置属性 android:singleLine="true" 时,Android Studio 会建议用 android:maxLines="1" 代替。

其实  android:singleLine="true" 表示文本框高度、内容都只占一行:

  • 当文字多时,文字会往左边挤(隐藏起来)。
  • 当粘贴多行文本进来时,其 中换行符也会被干掉,显示在一行。
  • 软键盘上不会有换行键。

但是  android:maxLines="1" 这个完全是另一码意思, 它表示这个文本高高度为一行,至于内容,那可没约束:

  • 当文字多时,文字会自动换行,由于高度只有 1,所以上面的行显示不出来。
  • 当粘贴多行文本进来时,换行符会被保留。
  • 软键盘上会有换行键。

有人说 ellipsize="end" 会使文字显示在一行,并当文字多时显示省略号,我想说:反正我这手机上没这个效果。

相关文章