gpt4 book ai didi

android - Leanback 焦点问题

转载 作者:行者123 更新时间:2023-11-29 16:53:26 28 4
gpt4 key购买 nike

大家好,我正在开发应用程序,我的布局结构如下:

  RelativeLayout:

CompoundView:

CompoundView:
RelativeLayout:
Button
Button
RecyclerView

BrowseFragment:
Only rows

我的问题是,当我到达浏览 fragment 的第一行和其中的第一项时,我想上(D-PAD-UP) 到焦点按钮,它什么都不做,只有在我向左推 ( D-PAD-LEFT)。有人对此有解决方案吗?

最佳答案

所以问题出在 BrowseFrameLayout 中,为了解决这个问题,我不得不重写 onFocusSearchListener 并自己管理焦点。

在我扩展的 BrowseFragment 中我有这个方法:

public void workaroundFocus(){
if(getView() != null) {
View viewToFocus = getActivity().findViewById(R.id.view_to_focus);
BrowseFrameLayout browseFrameLayout = getView().findViewById(android.support.v17.leanback.R.id.browse_frame);
browseFrameLayout.setOnFocusSearchListener((focused, direction) -> {
if (direction == View.FOCUS_UP) {
return viewToFocus;
}
else {
return null;
}
});
}
}

然后:

@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
workaroundFocus();
/*
Rest of the code
*/
}

瞧,它起作用了。

关于android - Leanback 焦点问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45634710/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com