我目前正在尝试将Android移动应用程序移植到Android TV。我有一个回收器视图,它似乎在我的Android TV应用程序中正确显示。但我似乎无法使用 dpad 控件在回收器视图中导航。附言我已经尝试过以下行。找不到其他任何东西
android:descendantFocusability="afterDescendants"
还建议对电视应用程序使用回收器视图吗?
我也在 developer.android.com 阅读了电视应用程序的完整架构,并浏览了他们的示例项目,但发现回收者的观点无处可去。
正如@ULazdins所说,你可以尝试让你的RecyclerView
集中起来。您可以使用此解决方法来了解使用方向键导航时焦点滚动RecycleView
错误。
正如我从源代码中看到的那样,问题是因为
GridLayoutManager
使用了LinearLayoutManager
的onFocusSearchFailed()
实现,当焦点接近RecyclerView
的内部边界时调用。LinearLayoutManager
的实现只提供第一个/最后一个(取决于滚动方向)元素。因此,焦点跳转到新行的第一个/最后一个元素。
希望这有帮助!