以编程方式动态创建自定义布局,与Android中的静态XML完全相同

以编程方式动态创建自定义布局,与Android中的静态XML完全相同,android,android-listview,horizontalscrollview,Android,Android Listview,Horizontalscrollview,我在这里使用这个HorizontalScrollView,基本上创建了三个水平级别,如静态使用xml中所示 <ScrollView android:id="@+id/ScrollView01" android:layout_width="fill_parent" android:layout_height="wrap_content" > <LinearLayout android:id="@+id/lineartoc1"

我在这里使用这个HorizontalScrollView,基本上创建了三个水平级别,如静态使用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”级支持。此外,整个内容都包装在scrollview中,因此页面永远不会结束,并且有n个级别的位置

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


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

您应该使用
android listview
标记,而不是
listview
。。。由于
listview
可以应用于很多事情(例如.NET
listview
):)事实上,我不想把它放在第一位,因为我的代码不涉及android listview,而是一个自定义的水平列表视图,所以改为通用列表视图,但我明白你的观点:D谢谢!