gpt4 book ai didi

android - xml 属性 singleLine 在 Android 中是否已弃用?

转载 作者:IT老高 更新时间:2023-10-28 13:21:35 26 4
gpt4 key购买 nike

singleLine 是/曾在 TextViewEditText 的 xml 布局文件中使用,如下所示:

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true" />

Some people在 SO 上说 singleLine 已弃用,而 other people仍然建议使用它。有时,当 maxLines="1" 不起作用时,它甚至似乎有必要使用。 (见 hereherehere )

文档应该是回答这个问题的地方,对吧? Here, they say:

This constant was deprecated in API level 3.

This attribute is deprecated. 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 (if both singleLine and inputType are supplied, the inputType flags will override the value of singleLine).

但是,in the TextView docs ,没有迹象表明它已被弃用,对于 android:singleLinesetSingleLinesetTransformationMethod .相比之下,相同的 TextView 文档确实声明不推荐使用 STATUS_BAR_HIDDENfitSystemWindows 等其他内容。那么 singleLine 弃用是一个遗漏,是“不弃用”还是什么?

这个问题是previously asked before但不是问题的主要焦点(也没有得到回答)。

最佳答案

我认为您的问题的答案已经在 SO posts you linked to 之一中。 .不幸的是,弃用 singleLines 并不是非黑即白的事情。

已被弃用,但它不会很快就会去任何地方。

它已被弃用,因为相对于它的继任者 maxLines,它的性能很差。它使用 SingleLineTransformationMethod替换您放置在 TextView 中的字符串中的换行符和回车符,这与 maxLines 不同,后者“只是”调整基于 TextView 的高度关于行数并且没有字符串替换。

这种替换字符的方法也意味着singleLine可以break in unexpected ways (例如,如果您使用自定义字体)。正是这些性能和可靠性问题导致了它的弃用。

但是,它不会去任何地方,因为,正如您链接到的 SO 帖子所说,它仍然被许多旧的 Android 应用程序使用,并且它仍然是有时很有用(例如,当您想在一行上显示 整个 文本并忽略回车符和换行符时)。

请注意,弃用并不一定意味着 API 即将消失。这只是意味着不鼓励使用它,但可能会被允许。

关于android - xml 属性 singleLine 在 Android 中是否已弃用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30028697/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com