0

我正在尝试制作一个界面,其中一个选项卡主机中有三个选项卡,并且它们将具有自己的单独滚动视图。
单个选项卡的内容占位符必须是可滚动的,但从选项卡按钮本身下方(以便用户可以从选项卡#1 更改为选项卡#2,而无需通过单击选项卡的按钮一直向上滚动。)

这是一种一种布局,其中滚动视图位于选项卡的内容占位符内,而不是滚动视图内的选项卡。

到目前为止,我想出了这个:

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    tools:context=".Ques2" >

    <RelativeLayout
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

        <TabWidget
            xmlns:tools="http://schemas.android.com/tools"
            android:id="@android:id/tabs"
            android:layout_width="fill_parent"
            android:layout_height="50dip"
            android:gravity="bottom" />

        <FrameLayout
            xmlns:tools="http://schemas.android.com/tools"
            android:id="@android:id/tabcontent"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >

            <LinearLayout
                xmlns:tools="http://schemas.android.com/tools"
                android:id="@+id/tabview1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical" >

                <ScrollView
                    xmlns:android="http://schemas.android.com/apk/res/android"
                    android:id="@+id/scrollViewTab1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:fillViewport="true" >

                    <RelativeLayout
                        xmlns:tools="http://schemas.android.com/tools"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content" >

                        <TextView
                            android:id="@+id/textView1_monthly_vOlslab_R1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="@string/monthly_vOlslab_R1"
                            android:textAppearance="?android:attr/textAppearanceMedium" />

                        <CheckBox
                            android:id="@+id/cb1R1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_below="@+id/textView1_monthly_vOlslab_R1"
                            android:text="@string/cb1R1" />

                        <CheckBox
                            android:id="@+id/cb2R1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_below="@+id/cb1R1"
                            android:text="@string/cb2R1" />

                        <CheckBox
                            android:id="@+id/cb3R1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_below="@+id/cb2R1"
                            android:text="@string/cb3R1" />

                        <CheckBox
                            android:id="@+id/cb4R1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_below="@+id/cb3R1"
                            android:text="@string/cb4R1" />

                        <CheckBox
                            android:id="@+id/cb5R1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_below="@+id/cb4R1"
                            android:text="@string/cb5R1" />

                        <CheckBox
                            android:id="@+id/cb6R1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_below="@+id/cb5R1"
                            android:text="@string/cb6R1" />

                        <CheckBox
                            android:id="@+id/cb7R1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_below="@+id/cb6R1"
                            android:text="@string/cb7R1" />

                        <CheckBox
                            android:id="@+id/cb8R1"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_below="@+id/cb7R1"
                            android:text="@string/cb8R1" />

                        <View
                            android:id="@+id/viewTab1Q1"
                            android:layout_width="wrap_content"
                            android:layout_height="2dp"
                            android:layout_below="@+id/cb8R1"
                            android:background="@android:color/darker_gray"
                            android:paddingBottom="2dp"
                            android:paddingTop="2dp" />
                    </RelativeLayout>
                </ScrollView>
            </LinearLayout>

            <LinearLayout
                xmlns:tools="http://schemas.android.com/tools"
                android:id="@+id/tabview2"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="horizontal" >

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="tabview2" />
            </LinearLayout>

            <LinearLayout
                xmlns:tools="http://schemas.android.com/tools"
                android:id="@+id/tabview3"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="horizontal" >

                <TextView
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:text="tabview3" />
            </LinearLayout>
        </FrameLayout>
    </RelativeLayout>

</TabHost>

谢谢

4

1 回答 1

2

不要这样做,TabHost既古老又可怕。使用Fragments和一个ViewPager ViewPager

有大量的教程和示例说明如何执行此操作。最好的来自 @commonsguy Fragments 和 ViewPager

于 2013-01-04T10:10:38.547 回答