2013-01-04 65 views
0

我想做一個接口,其中有三個選項卡內的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> 

感謝

回答

2

不要這樣做,TabHost是舊的,太可怕了。使用FragmentsViewPagerViewPager

有大量的教程和如何做到這一點的例子。最好的來自@commonsguy Fragments with ViewPager

+0

感謝您的回覆。但是不是'Fragments'與Android 2.x或3.x不兼容? **更新**我瞄準2.3.x及以上:| – beerBear

+2

您可以使用兼容性庫(http://developer.android.com/tools/extras/support-library.html)使Fragments與您的應用程序一起工作。 – p4u144

+0

謝謝你們:)我會嘗試並在此處發佈我的結果(如果我將其作爲答案,也會標記爲 – beerBear

相關問題