三个选项卡具有各自的滚动视图

时间:2013-01-04 09:45:27

标签: android xml android-layout android-scrollview

我正在尝试创建一个界面,其中tabhost中有三个选项卡,它们将具有各自的滚动视图。
单个选项卡的内容占位符必须是可滚动的,但是从选项卡按钮本身的下方(这样用户可以从选项卡#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>

由于

1 个答案:

答案 0 :(得分:2)

不要这样做,TabHost陈旧而可怕。使用FragmentsViewPager ViewPager

有很多教程和如何执行此操作的示例。最好的来自@commonsguy Fragments with ViewPager