最近在开发一个手机相册的demo,在选择组件时,使用了GirdView。
布局如:
<GridView
android:id="@+id/gridViewUploadAlbum"
android:layout_below="@id/layoutSelectAlbumTitleBar"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchMode="columnWidth" <!--设置拉伸模式-->
android:columnWidth="100dp" <!--设置列的宽度-->
android:numColumns="auto_fit" <!--设置列数-->
android:padding="4dp"
android:horizontalSpacing="4dp" <!--设置各元素之间的水平间距-->
android:verticalSpacing="4dp" <!--设置各元素之间的垂直间距-->
android:gravity="center" />
GridView 用于在界面上按行、列分布的方式来显示多个组件。
GridView 和ListView有共同的父类:AbsListView,因此GridView 和ListView有一定的相似性。
GridView 和ListView的主要区别在于:ListView只是在一个方向上分布;而GridView则会在两个方向上分布。
与ListView 类似的是,GridView也需要通过Adapter来提供显示的数据:
我们既可以通过SimpleAdapter来为GridView 提供数据,也可以通过开发BaseAdapter的子类来为GridView提供数据。
不管使用哪种方式,GridView 与ListView的用法基本上是一致的。
顺带补上ListView。
ListView是以垂直列表的形式显示所有列表项的。
创建ListView有两种方式:
1、直接使用ListView进行创建。
2、让Activity继承ListActivity。
如我定义的布局文件(显示音乐列表的):
<ListView
android:id="@+id/listFile"
android:divider="#555"
android:dividerHeight="2px"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:listSelector="@android:color/transparent"
android:layout_below="@id/viewFocus_Line1"
android:layout_above="@id/layoutUploadMedia" />
最后由内容Adapter负责提供需要显示的列表项。