【问题标题】:Horizontal scrollable Textview which is in listview in Android?Android列表视图中的水平可滚动Textview?
【发布时间】:2011-04-26 13:04:27
【问题描述】:

我有一个列表视图,其中有 3-4 个文本视图。我正在使用 BaseAdapter 方式来膨胀 xml。所有的文本视图都是单行的。我想让 textview 水平滚动。我试图将 textview 放在 Horizo​​ntalScrollview 中。好吧,那确实滚动了textview,但后来我无法获得listview的点击事件。

还有其他方法可以让 textview 水平滚动吗?

【问题讨论】:

    标签: android textview scrollable


    【解决方案1】:

    我能够通过将此行添加到 xml 文件 android:descendantFocusability="blocksDescendants" 中的第一个 RelativeLayout 来解决此问题。这样,没有孩子会有焦点,因此水平滚动条也可以工作,listview 项目的点击也可以工作。它对我有用。无论如何,谢谢大家。

    【讨论】:

    • 你说得对,我也面临同样的问题,并通过您的回答解决了它....android:descendantFocusability="blocksDescendants"
    【解决方案2】:

    AFAIK 没有简单的方法可以做到这一点。

    问题是滚动视图会消耗所有的触摸事件。为了解决这个问题,应该确保水平滚动视图只消耗“水平”移动事件。

    首先你应该实现你自己的滚动视图。然后覆盖该视图的 onTouchEvent(),使其仅消耗“水平多于垂直”的手势,并为列表视图留下“垂直”手势。

    【讨论】:

      【解决方案3】:

      您可以尝试使用 TextView 类的ellipsize 属性。如果您将其设置为marquee,则文本应在获得焦点时自动滚动。

      【讨论】:

      • 我过去做过这个,它工作正常。但是,它并没有像 OP 想要的那样让用户控制文本。
      • 好的。我认为在 ListView 中使用 ScrollView 获得良好的用户体验真的很难。但是当你解决这个问题时,我对你的解决方案很感兴趣。
      【解决方案4】:

      为什么没有人使用TextView.setMovementMethod(ScrollingMovementMethod.getInstance())android:scrollHorisontally="true"

      【讨论】:

        猜你喜欢
        • 2011-03-20
        • 2018-03-14
        • 2012-07-31
        • 1970-01-01
        • 1970-01-01
        • 2019-05-17
        • 1970-01-01
        • 1970-01-01
        • 2011-07-25
        相关资源
        最近更新 更多