如何在Android的布局XML文件中将选项卡添加到TabLayout?

16

我已经学习Android两个星期了。现在我正在开发我的第一个Android项目。

在我的项目中,我需要与Tabs和ActionBar一起工作。我知道这在Android中非常常见。对于ActionBar,我正在使用带有v7的Toolbar。我对ActionBar有很深入的了解,但是我在Tab布局方面遇到了问题。问题是我想在布局XML文件中添加选项卡到选项卡布局中。

例如:

<TabLayout>
//tab buttton goes here
 <TabButton1></TabButton1>
 <TabButton1></TabButton1>
 .
 .
<TabLayout>

我搜索了很多关于TabLayout的教程。但所有的教程都是通过编程方式定义TabLayout中的选项卡。我该如何在XML中为TabLayout定义选项卡,并通过findViewById方法以编程方式定义选项卡事件?我不想使用按钮视图代替选项卡。


你可以为每个选项卡指定一个布局xml,这可能是你想要的最接近的方法。请参见此处:https://dev59.com/blwZ5IYBdhLWcg3wPOJM#32547335 - Daniel Nugent
它是通过编程方式添加选项卡的。对吗? - Wai Yan Hein
我刚刚更新了我的问题,请检查我想要的XML。 - Wai Yan Hein
是的,没有办法做到那样。 - Daniel Nugent
1个回答

27

这应该是你想要的内容:

<android.support.design.widget.TabLayout
            android:id="@+id/tabs"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:layout_gravity="bottom"
            android:background="?attr/colorPrimary"
            app:tabMode="fixed">

            <android.support.design.widget.TabItem
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Popular" />

            <android.support.design.widget.TabItem
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Most Rated" />

            <android.support.design.widget.TabItem
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Favorites" />
        </android.support.design.widget.TabLayout>

2
一个新的包现在可用:com.google.android.material.tabs.TabItem - yital9

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接