我有一个 Listview,其中有 3-4 个文本视图。我正在使用 BaseAdapter 方式来膨胀 xml。所有的文本视图都是单行的。我想让 textview 水平滚动。我试图将 textview 放在 HorizontalScrollview 中。好吧,那确实滚动了textview,但后来我无法获得listview的点击事件。
有没有其他方法可以使文本视图水平滚动?
我有一个 Listview,其中有 3-4 个文本视图。我正在使用 BaseAdapter 方式来膨胀 xml。所有的文本视图都是单行的。我想让 textview 水平滚动。我试图将 textview 放在 HorizontalScrollview 中。好吧,那确实滚动了textview,但后来我无法获得listview的点击事件。
有没有其他方法可以使文本视图水平滚动?
我可以通过将此行添加到 xml 文件 android:descendantFocusability="blocksDescendants" 中的第一个 RelativeLayout 来解决此问题。这样,没有孩子会有焦点,因此水平滚动条也可以工作,listview 项目点击也可以工作。它对我有用。不管怎样,谢谢大家。
您可以尝试使用 TextView 类的ellipsize属性。如果将其设置为marquee
文本应在获得焦点时自动滚动。
AFAIK 没有简单的方法可以做到这一点。
问题是滚动视图消耗所有触摸事件。为了解决这个问题,应该确保水平滚动视图只消耗“水平”移动事件。
首先你应该实现你自己的滚动视图。然后覆盖该视图的 onTouchEvent() ,使其仅消耗“水平多于垂直”的手势,并为列表视图留下“垂直”手势。
为什么没有人使用TextView.setMovementMethod(ScrollingMovementMethod.getInstance())
with android:scrollHorisontally="true"
?