Android TV RecyclerView重点互动

Tep*_*ian 26 android android-tv android-recyclerview

我目前使用常规RecyclerViewGridLayoutManager不同spanCount的depeding viewType为Android TV的应用.一切都很好,但我有两个问题:

  1. 如果您长按dpad以在项目之间快速滚动,有时焦点将丢失到不属于RecyclerView的子视图.
  2. 如何告知将RecyclerView当前聚焦视图保持在网格中心?

似乎列出的问题是通过使用VerticalGridViewfrom LeanBack库修复的,但LayoutManger它使用的是内部的,不支持spanCount.

sha*_*mar 3

回收器视图与 Android TV 配合良好。您可以包括的可能的解决方案包括:

1.为view添加focusable和focusableInTouchode。通过代码添加focusListner,每次点击view时请求焦点。

2.要使 Recycler View 焦点项目保持在中心,您必须像本示例一样覆盖布局管理器。

RecyclerView 平滑滚动到中心位置。安卓

或者

使用layoutManager.scrollToPositionWithOffset(position,offset),其中位置聚焦视图位置和偏移量是回收器视图宽度/2。