android_GridView
在Android开发中,GridView是一个非常重要的视图组件,它允许我们以网格的形式展示大量的数据,通常用于创建诸如图片选择器、应用列表等界面。GridView继承自AbsListView,它将数据集划分为多行多列的格子,每个格子可以包含一个自定义的布局。 在给定的`main.xml`布局文件中,我们看到了一个GridView的配置示例: ```xml <GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/gridview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:numColumns="auto_fit" android:verticalSpacing="10dp" android:horizontalSpacing="10dp" android:columnWidth="90dp" android:stretchMode="columnWidth" android:gravity="center" /> ``` 这里有几个关键的属性: 1. `android:numColumns="auto_fit"`:这个属性设置GridView的列数为自动适配,根据屏幕宽度动态决定列数。默认情况下,如果设置为"auto_fit",系统会尽可能地填充满屏幕宽度。 2. `android:columnWidth="90dp"`:定义了每一列的宽度,即每个Item的基础宽度。在列数自动适配的情况下,这个值决定了列的最小宽度。 3. `android:stretchMode="columnWidth"`:指定GridView的拉伸模式。在这个例子中,设置为"columnWidth"意味着当数据填充不满一列时,列宽会自动扩展以填充剩余空间。 4. `android:verticalSpacing="10dp"` 和 `android:horizontalSpacing="10dp"`:分别设置行间和列间的间距,10dp表示每个Item之间有10像素的距离,提供了视觉上的间隔感。 5. `android:gravity="center"`:设置每个Item在GridView中的对齐方式,这里是居中对齐。 接着是`night_item.xml`,这是一个定义GridView中每个Item布局的文件,它使用了一个RelativeLayout,包含了ImageView和TextView: ```xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:paddingBottom="4dip" android:layout_width="fill_parent"> <ImageView android:layout_height="wrap_content" android:id="@+id/ItemImage" android:layout_width="wrap_content" android:layout_centerHorizontal="true" /> <TextView android:layout_width="wrap_content" android:layout_below="@+id/ItemImage" android:layout_height="wrap_content" android:text="TextView01" android:layout_centerHorizontal="true" android:id="@+id/ItemText" /> </RelativeLayout> ``` 在`onCreate`方法中,我们看到了如何在活动中初始化并设置GridView: ```java public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); GridView gridview = (GridView) findViewById(R.id.gridview); // 创建数据集合,并注入数据 ArrayList<HashMap<String, Object>> lstImageItem = new ArrayList<>(); // ...填充数据到lstImageItem // 设置适配器,将数据与GridView关联 gridview.setAdapter(new SimpleAdapter( this, lstImageItem, R.layout.night_item, new String[]{"ItemImage", "ItemText"}, new int[]{R.id.ItemImage, R.id.ItemText})); } ``` 这里创建了一个ArrayList来存储数据,然后使用`SimpleAdapter`将数据绑定到GridView上。`SimpleAdapter`需要传入四个参数:当前Activity的上下文,数据集,Item布局资源ID,数据键列表以及对应的视图ID列表。 Android的GridView通过灵活的布局管理和自定义Item设计,可以实现高度可定制化的网格显示效果。开发者可以根据需要调整其样式和行为,以满足各种复杂的应用场景。
- yangchunjinglw2013-02-26没看说明,以为是工程文件,不过写的确实不错。
- lslf20002014-12-24不错,可以参考
- iam5932012-08-05介绍了GridView的item和数据的对应关系,要是有示例工程就更佳了
- 粉丝: 0
- 资源: 9
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- IMG_20241019_203801_edit_288242973348204.jpg
- 基于Flink+Kafka的全链路数仓, 包括实时和离线详细文档+全部资料.zip
- 基于Flink的电商实时数据仓库项目详细文档+全部资料.zip
- 基于flink的电商实时数据分析、推荐、风控项目详细文档+全部资料.zip
- 华盈恒信—福建金辉房地产—1104培训体系研讨问题.doc
- 华盈恒信—福建金辉房地产—培训管理办法1116.doc
- 华盈恒信—福建金辉房地产—南国金辉售楼部培训考核问卷.doc
- 华盈恒信—福建金辉房地产—例:2001年应届毕业生进厂培训、实习计划.doc
- 基于Flink的车联网实时数据平台详细文档+全部资料.zip
- 基于Flink的练习项目详细文档+全部资料.zip
- 华盈恒信—金德精密—员工培训课程大纲.doc
- 基于Flink的批流处理实战案例详细文档+全部资料.zip
- 联纵智达-钱江啤酒—徐鹭钱啤区域经理培训纲要.doc
- 基于Flink的电影数据实时统计网站详细文档+全部资料.zip
- 基于flink的实时计算平台详细文档+全部资料.zip
- 基于flink的实时流计算web平台详细文档+全部资料.zip