2012-07-09 28 views
0

我在此處使用此Horizo​​ntalScrollView - http://www.dev-smart.com/archives/34,並基本上創建了三個水平級別,如靜態使用xml所示。以編程方式動態創建自定義佈局完全像Android中的靜態xmls

<ScrollView 
    android:id="@+id/ScrollView01" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" > 

    <LinearLayout 
     android:id="@+id/lineartoc1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" > 

     <TextView 
      android:id="@+id/title1" 
      android:layout_width="wrap_content" 
      android:layout_height="30px" 
      android:layout_marginLeft="10dp" 
      android:layout_marginTop="10dp" 
      android:layout_weight="1" 
      android:background="@drawable/tocheader" 
      android:gravity="center_vertical|center_horizontal" 
      android:minWidth="150px" 
      android:text="example" 
      android:textColor="#ffffff" 
      android:textSize="18dp" 
      android:textStyle="bold" /> 

     <a.b.c.d.HorizontalListView 
      android:id="@+id/listview" 
      android:layout_width="wrap_content" 
      android:layout_height="150dp" 
      android:layout_weight="1" 
      android:textStyle="bold" /> 

     <TextView 
      android:id="@+id/title2" 
      android:layout_width="wrap_content" 
      android:layout_height="30dp" 
      android:layout_marginLeft="10dp" 
      android:layout_marginTop="10dp" 
      android:layout_weight="1" 
      android:background="@drawable/tocheader" 
      android:gravity="center_vertical|center_horizontal" 
      android:minWidth="150dip" 
      android:text="example" 
      android:textColor="#ffffff" 
      android:textSize="18dp" 
      android:textStyle="bold" /> 

     <a.b.c.d.HorizontalListView 
      android:id="@+id/listview2" 
      android:layout_width="wrap_content" 
      android:layout_height="150dp" 
      android:layout_weight="3" 
      android:textStyle="bold" /> 


     <TextView 
      android:id="@+id/title3" 
      android:layout_width="wrap_content" 
      android:layout_height="30dp" 
      android:layout_marginLeft="10dp" 
      android:layout_marginTop="10dp" 
      android:layout_weight="1" 
      android:background="@drawable/tocheader" 
      android:gravity="center_vertical|center_horizontal" 
      android:minWidth="150dip" 
      android:text="example" 
      android:textColor="#ffffff" 
      android:textSize="18dp" 
      android:textStyle="bold" /> 

     <a.b.c.d.HorizontalListView 
      android:id="@+id/listview3" 
      android:layout_width="wrap_content" 
      android:layout_height="150dp" 
      android:layout_weight="3" 
      android:textStyle="bold" /> 
     <!-- 
     <TextView 
      android:id="@+id/title4" 
      android:layout_width="300dp" 
      android:layout_height="30dp" 
      android:layout_marginTop="10dp" 
      android:layout_weight="1" 
      android:background="#88000000" 
      android:gravity="center_vertical|center_horizontal" 
      android:text="example" 
      android:textColor="#ffffff" 
      android:textSize="20dp" 
      android:textStyle="bold" /> 

     <a.b.c.d.HorizontalListView 
      android:id="@+id/listview4" 
      android:layout_width="wrap_content" 
      android:layout_height="300dp" 
      android:layout_weight="1" 
      android:textStyle="bold" /> 
     --> 
    </LinearLayout> 
</ScrollView> 

我創建了三個水平列表視圖,每個列表視圖上都有文本,現在它們相對放置在另一個之下。它的工作原理只有第一個列表有一些項目。單擊第一個水平列表視圖中的一個項目將創建下一個水平列表,以此類推爲下一個級別。但由於它是在xml中創建的,我只能擁有固定的級別數 - 在我的情況下是三級。我如何以編程方式完成同一職位的完全相同的事情,以便我可以提供'n'級支持。此外整個事情都包裹在滾動視圖中,所以頁面永遠不會結束,並且有n層的地方。

+0

你應該使用'android-listview'標籤而不是'listview' ...因爲'listview'可以應用於很多事情(比如.NET'listview'):) – 2012-07-09 14:29:20

+0

其實我並不想把它首先是因爲我的代碼不涉及android列表視圖,但是自定義水平列表視圖與通用列表視圖相反,但是我看到您的觀點:D謝謝! – Slartibartfast 2012-07-09 14:47:44

回答

0

您可以使用findViewById()在代碼中獲取LinearLayout的句柄,然後調用.addView(View child,LayoutParams)並設置您的子視圖。

當您在LinearLayout中設置視圖時,請記住使用LinearLayout.LayoutParams。*。

相關問題