0

我在这里使用这个 Horizo​​ntalScrollView - http://www.dev-smart.com/archives/34并且基本上创建了三个水平级别,如静态使用 xml 所示。

 <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 个级别的位置。

4

1 回答 1

0

您可以使用 findViewById() 在代码中获取 LinearLayout 的句柄,然后调用 .addView(View child, LayoutParams) 并以这种方式设置您的子视图。

当您在 LinearLayout 中设置视图时,请记住使用 LinearLayout.LayoutParams.*。

于 2012-07-09T14:29:33.593 回答