Tabs Android TV如何在屏幕顶部制作标签?
我想在屏幕顶部制作一个选项卡,如下所示:Tabs Android TV如何在屏幕顶部制作标签?,tabs,android-tv,Tabs,Android Tv,我想在屏幕顶部制作一个选项卡,如下所示: 我知道tabLayout和viewPager可以在电话上解决这个问题。然而,如何在android电视上做到这一点?有几种方法可以做到这一点,但我认为简单的答案是,无论你做什么,都必须是定制的。到目前为止,leanback是谷歌为任何电视特定组件提供的唯一框架,该框架只为您提供了一个左侧导航抽屉 如果您使用leanback,我可以为您提供一个解决方案。您可以将BrowseFragment与自定义的TitleView一起使用,该标题视图具有选项卡并跟踪其中
我知道tabLayout和viewPager可以在电话上解决这个问题。然而,如何在android电视上做到这一点?有几种方法可以做到这一点,但我认为简单的答案是,无论你做什么,都必须是定制的。到目前为止,
leanback
是谷歌为任何电视特定组件提供的唯一框架,该框架只为您提供了一个左侧导航抽屉
如果您使用leanback,我可以为您提供一个解决方案。您可以将BrowseFragment
与自定义的TitleView
一起使用,该标题视图具有选项卡并跟踪其中选项卡的焦点。只要您的自定义视图实现了TitleViewAdapter.Provider
,那么您就可以将它与BrowseFragment
一起用作TitleView
。这样做的好处是,您可以让它在不需要额外工作的情况下从顶部自动设置动画
对于自定义视图,您可以在每个选项卡上指定focusRight和focusLeft,并使用侦听器onFocus
或onClick
交换BrowseFragment
中的片段。显示如何交换浏览片段
(特别是PageRowFragmentFactory
)中的片段
我强烈建议你克隆安卓团队组装的,并在其中发挥作用
有关自定义标题视图的详细信息,请参见以下内容:
创建自定义视图
class YourTitleView extends RelativeLayout implements TitleViewAdapter.Provider {
... do custom view setup/logic here ...
}
创建名为lb\u browse\u title.XML的XML文件
。这将覆盖leanback用于创建标题视图的布局
将标题视图放在此lb_browse_title.xml
文件中,并确保其id为@+id/browse_title_group
。这让leanback知道如何抓住你的标题视图
<com.your.android.app.views.YourTitleView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/browse_title_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?attr/browseTitleViewStyle" />
然后创建一个扩展BrowseFragment
的片段,它将自动应用标题视图。请参阅leanback showcase
应用程序,了解如何启动并运行浏览片段