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