【发布时间】:2015-07-13 18:06:03
【问题描述】:
singleLine 是/曾在 TextView 和 EditText 的 xml 布局文件中使用,如下所示:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true" />
Some people 在 SO 上说 singleLine 已弃用,而 other people 仍然建议使用它。有时,当maxLines="1" 不起作用时,它甚至似乎有必要使用。 (见here、here和here)
文档应该是回答这个问题的地方,对吧? Here, they say:
此常量在 API 级别 3 中已弃用。
这个属性是 已弃用。改用
maxLines来更改静态的布局 文本,并在 inputType 属性中使用textMultiLine标志 代替可编辑的文本视图(如果 singleLine 和 inputType 都是 提供时,inputType 标志将覆盖 singleLine 的值)。
但是,in the TextView docs,没有迹象表明它已被弃用,无论是对于 android:singleLine、setSingleLine 还是对于 setTransformationMethod。相比之下,相同的 TextView 文档确实声明不推荐使用 STATUS_BAR_HIDDEN 和 fitSystemWindows 等其他内容。那么singleLine 弃用是一个遗漏,是“不弃用”还是什么?
这个问题是previously asked before,但不是问题的主要焦点(并且没有得到回答)。
【问题讨论】:
-
在哪些情况下 maxLines="1" 不起作用?
-
你可以为这两种情况发布
code块吗? -
我并不是真的在这里问为什么
maxLines="1"的特定实例据称不起作用。 (可能它确实在每种情况下都有效。)我只想知道singleLine是否真的被弃用了。话虽如此,我没有任何权威的例子,但请参阅this answer 和this Q&A 的ellipsize="marquee"部分以及this answer with comments。 -
我遇到了 singleLine 属性的奇怪副作用 - 我在
ViewPager中使用了TextViews,如果我用手指滑过 @987654355,寻呼机没有响应触摸滑动事件@s。但是当我将该属性更改为 maxLines=1 时,一切正常! -
@JafarKhQ 在某些情况下它表现不佳,尤其是在椭圆化时。
标签: android android-edittext attributes textview android-singleline