如何解决为 BrowseSupportFragment
我想在我的 Android Tv 应用上为我的 browseSupportFragment 增加新的自定义布局。我尝试了很多方法,但都没有成功。 browseSupportFragment 的根布局是 lb_browse_fragment 我试图用它所拥有的相同 Id 创建新文件并按如下方式对其进行膨胀,但我得到了错误。有人可以帮我处理这个案子吗?
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/browse_dummy"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- browseFrameLayout serves as root of transition and manages switch between
left and right-->
<androidx.leanback.widget.browseFrameLayout
android:focusable="true"
android:focusableInTouchMode="true"
android:descendantFocusability="afterDescendants"
android:id="@+id/browse_frame"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.leanback.widget.browseRowsFrameLayout
android:id="@+id/browse_container_dock"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.leanback.widget.ScaleFrameLayout
android:id="@+id/scale_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</androidx.leanback.widget.browseRowsFrameLayout>
<!-- Padding needed for shadow -->
<FrameLayout
android:id="@+id/browse_headers_dock"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingEnd="50dp" />
</androidx.leanback.widget.browseFrameLayout>
我的 MainFragment 扩展了 browseSupportFragment :
@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle
savedInstanceState) {
View view = inflater.inflate(R.layout.browse_fragment_costumized,container,false);
return view;
}
解决方法
BrowseSupportFragment 执行 lot of setup in onCreateView,包括确保处理过扫描并设置大量引用。如果不调用 onCreateView 就不能以有意义的方式使用此 Fragment,否则您将破坏它在内部做出的所有假设。
如果您要大幅更改布局,则不应使用 BrowseSupportFragment。如果只需要修改一些小东西,可以调用超级onCreateView方法,然后修改返回的View。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。