0

私はここでこの Horizo​​ntalScrollView を使用しています - http://www.dev-smart.com/archives/34、基本的に xml を静的に使用して示されているように、3 つの水平レベルを作成しました。

 <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>

それぞれの上にテキストを配置した 3 つの水平リスト ビューを作成していますが、これらは相対的に上下に配置されています。それがどのように機能するかは、最初のリストにいくつかの項目があるだけです。最初の水平リスト ビューで 1 つの項目をクリックすると、次の水平リストが作成され、次のレベルのリストが作成されます。しかし、それはxmlで作成されているため、固定数のレベルしか持つことができません - 私の場合は3つです。「n」レベルのサポートを得るために、プログラムで同じ位置でまったく同じことを行うにはどうすればよいですか。また、すべてがスクロールビューにラップされているため、ページが終了することはなく、n レベルの場所があります。

4

1 に答える 1

0

findViewById() を使用してコードで LinearLayout へのハンドルを取得し、.addView(View child, LayoutParams) を呼び出して、その方法で子ビューを設定できます。

LinearLayout 内でビューを設定するときは、LinearLayout.LayoutParams.* を使用することを忘れないでください。

于 2012-07-09T14:29:33.593 に答える