Android 垂直标签主机

Posted

技术标签:

【中文标题】Android 垂直标签主机【英文标题】:Android Vertical tabhost 【发布时间】:2013-03-22 08:47:14 【问题描述】:

我想构建一个垂直的 Tab 主机,如下图所示

我尝试使用以下代码,但选项卡不可见

getTabWidget().setOrientation(LinearLayout.VERTICAL);

是否可以像下面那样实现选项卡主机。如果可能的话,告诉我实现下面这样的选项卡主机的方法。如果有任何内置项目来实现它,如下图所示,还发布链接。 (要么) 是否可以将活动添加到图像视图单击类似于标签栏单击如下所示

  mTabHost.addTab(mTabHost.newTabSpec("tab_test1").setIndicator("TAB 1").setContent(R.id.textview1)); 

因为如果可能的话,我会放置图像视图并更改每个项目单击时的活动

帮助我制作垂直标签主机。

【问题讨论】:

【参考方案1】:

只是为了补充 Emil Adz 的答案。

当您使用图形工具将控件添加到布局时,这会添加它所需的所有代码,但它会错过每个 LinerLyout 的 android:orientation="vertical"

例子:

<LinearLayout
                android:id="@+id/tab1"
                android:layout_
                android:layout_
                 >
            </LinearLayout>

你必须自己写下来

<LinearLayout
                android:id="@+id/tab1"
                android:layout_
                android:layout_
                android:orientation="vertical" >
            </LinearLayout>

【讨论】:

【参考方案2】:

您只需将您的标签小部件放置在 XML 文件中的水平 LinearLayout 中:

<TabHost
    android:id="@android:id/tabhost"
    android:layout_
    android:layout_
    android:layout_below="@+id/imageView3" >

    <LinearLayout
        android:layout_
        android:layout_
        android:orientation="horizontal" >

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_
            android:layout_
            android:layout_weight="0"/>

        <android.support.v4.view.ViewPager
            android:id="@+id/pager"
            android:layout_
            android:layout_
            android:layout_weight="1" >
        </android.support.v4.view.ViewPager>

        <TabWidget
            android:id="@android:id/tabs"
            android:layout_
            android:layout_
            android:orientation="horizontal"
            android:layout_gravity="center_vertical">
        </TabWidget>

    </LinearLayout>
</TabHost>

这会将选项卡放置在内容的右侧,如果您希望将其放在左侧,则需要重新排列 XML 文件中的顺序。

【讨论】:

是否需要那个viewpager和framelayout?【参考方案3】:

更好地使用片段。使用垂直对齐的按钮进行布局,并使用片段在按钮单击时转换页面。 Refer this 了解更多片段。

【讨论】:

以上是关于Android 垂直标签主机的主要内容,如果未能解决你的问题,请参考以下文章

Android垂直对齐文本和小部件

如何在 Android 的子活动中找到标签主机?

Android五大布局标签和属性总结

带有水平溢出的Android垂直recyclerview

Android:如何将 LinearLayout 的内容垂直包装在 TableRow 中?

android 项目三种布局