21

我注意到android:singleLine="true",如果在 ListView 中的 Listitem 的 TextView 中使用,会使滚动非常缓慢。虽然我找到了替代方案 android:maxLines="1",但我很想知道为什么android:singleLine="true"滚动很慢,即使它很慢,为什么 android 仍在使用它?

4

1 回答 1

24

似乎这两个函数实际上并没有给出完全相同的结果。

根据Radley Marx在此博客singleLine上创建的一个有趣主题,现在大部分已弃用,但在某些情况下仍然有用,因为它不会考虑回车并在单行中收集最大文本:

最大的优点是 singleLine 会忽略回车符 (\n) 并将所有文本放在一行上,有时甚至会将文本挤在一起。MaxLines 不打扰。

最后他得出结论:

虽然 singleLine 已被弃用,但它仍然在旧 Android 手机上的旧 Android 应用程序中大量使用,因此它并没有真正消失。但它长期以来一直被遗弃,并且往往以意想不到的方式打破。尽可能使用 maxLines,仅在必要时使用 singleLine。

然后,如果您查看有关这两种方法的 Android 文档:singleLinemaxLines,您会看到第一个由文本处理,TransformationMethod我猜想为什么它比第二个慢得多。

于 2013-06-15T15:44:41.443 回答