以编程方式动态创建自定义布局,与Android中的静态XML完全相同
我在这里使用这个HorizontalScrollView,基本上创建了三个水平级别,如静态使用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"
<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
可以应用于很多事情(例如.NETlistview
):)事实上,我不想把它放在第一位,因为我的代码不涉及android listview,而是一个自定义的水平列表视图,所以改为通用列表视图,但我明白你的观点:D谢谢!