我目前正在尝试将Android移动应用移植到Android TV。我有一个似乎在我的Android TV应用程序中正确显示的RecyclerView。但我似乎无法使用dpad控件在RecyclerView中导航。 P.S我已经尝试过以下行了。但是找不到其他的东西
android:descendantFocusability="afterDescendants"
还建议对电视应用使用回收视图吗?
此外,我已经在developer.android.com上阅读了完整的电视应用程序架构,并且还完成了他们的示例项目,但发现回收站视图无处可寻。
答案 0 :(得分:0)
正如@ULazdins所说,你可能会试图使你的RecyclerView
可以集中精力。使用d-pad导航时,您可以使用此workaround参考bug RecycleView
焦点滚动。
正如我从源代码中看到的那样,问题是
GridLayoutManager
使用LinearLayoutManager
的{{1}}实现,当焦点接近onFocusSearchFailed()
的内边界时调用RecyclerView
。LinearLayoutManager
的实现只提供第一个/最后一个(取决于滚动方向)元素。因此焦点跳转到新行的第一个/最后一个元素。
希望这有帮助!