【问题标题】:Horizontal RecyclerView inside ScrollView: how to get focus when vertical scrolling?ScrollView中的Horizo​​ntal RecyclerView:垂直滚动时如何获得焦点?
【发布时间】:2016-12-01 08:19:00
【问题描述】:

我有一个带有多个水平 RecyclerView 的 ScrollView。问题是这样的:
当我垂直滚动以导航到我的应用程序并触摸 recyclerview 以水平滚动时,焦点仍然在滚动视图上,我无法水平滚动。我必须松开手指并再次触摸才能垂直滚动。
我想给recyclerview分配权限,这样我就可以在不停止垂直滚动的情况下水平滚动。

我尝试了多种解决方案:

  • 编辑recyclerview及其容器的xml中的一些参数(focusable、focusableintouchmode、descendantFocusability、nestedscrollingenabled)

  • 在scrollview 和recyclerview 中添加ontouchlistener 并拦截motionevent

    使用 ScrollView 和 NestedScrollview 以及同时使用 RecyclerView 和 ListView 都存在此问题

    感谢您的帮助

  • 【问题讨论】:

    • 对 VerticalScrolling 使用 RecyclerView 而不是 Scrollview。它会解决你的问题。

    标签: android android-recyclerview scrollview horizontal-scrolling nestedscrollview


    【解决方案1】:

    这个问题是因为 recyclerView 有默认焦点。 只需添加此

    android:descendantFocusability="blocksDescendants"
    

    滚动视图的直接布局。

    【讨论】:

      猜你喜欢
      • 2019-06-29
      • 1970-01-01
      • 2021-03-30
      • 1970-01-01
      • 2019-03-30
      • 2018-09-12
      • 2016-03-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多