第39章、网格视图GridView(从零开始学Android)
来源:互联网 发布:微信怎么在淘宝买东西 编辑:程序博客网 时间:2024/04/30 04:16
网格视图对于需要有类似“九宫格”布局时非常有用。
一、设计界面
1、打开“res/layout/activity_main.xml”文件。
从工具栏向activity拖出1个GridView网格视图。
2、打开activity_main.xml文件。
代码如下:
<?xml version="1.0" encoding="utf-8"?> <GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/gridview" android:layout_width="match_parent" android:layout_height="match_parent" android:numColumns="auto_fit" android:verticalSpacing="10dp" android:horizontalSpacing="10dp" android:columnWidth="90dp" android:stretchMode="columnWidth" android:gravity="center" />
3、添加grid.xml文件。
4、打开activity_main.xml文件。
代码如下:
<?xml version="1.0" encoding="utf-8"?> <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"> </ImageView> <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"> </TextView> </RelativeLayout>
二、打开“src/com.genwoxue.gridview/MainActivity.java”文件。
然后输入以下代码:
package com.genwoxue.gridview;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.GridView;import android.widget.SimpleAdapter;import java.util.ArrayList;import java.util.HashMap;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;public class MainActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); GridView gridview = (GridView) findViewById(R.id.gridview); //生成动态数组,并且转入数据 ArrayList<HashMap<String, Object>> lstImageItem = new ArrayList<HashMap<String, Object>>(); for(int i=0;i<10;i++){ HashMap<String, Object> map = new HashMap<String, Object>(); map.put("ItemImage", R.drawable.ic_launcher);//添加图像资源的ID map.put("ItemText", "NO."+String.valueOf(i));//按序号做ItemText lstImageItem.add(map); } //生成适配器的ImageItem <====> 动态数组的元素,两者一一对应 SimpleAdapter saImageItems = new SimpleAdapter(this, lstImageItem,//数据来源 R.layout.grid,//grid的XML实现 //动态数组与ImageItem对应的子项 new String[] {"ItemImage","ItemText"}, //ImageItem的XML文件里面的一个ImageView,两个TextView ID new int[] {R.id.ItemImage,R.id.ItemText}); //添加并且显示 gridview.setAdapter(saImageItems); //添加消息处理 gridview.setOnItemClickListener(new ItemClickListener()); } //当AdapterView被单击(触摸屏或者键盘),则返回的Item单击事件 class ItemClickListener implements OnItemClickListener{ public void onItemClick(AdapterView<?> arg0,View arg1,int arg2,long arg3){ HashMap<String, Object> item=(HashMap<String, Object>) arg0.getItemAtPosition(arg2); //显示所选Item的ItemText setTitle((String)item.get("ItemText")); } } }
三、运行结果
(本篇来源于网络)
- 第39章、网格视图GridView(从零开始学Android)
- 从零开始学android<GridView网格视图.二十八.>
- 第27章、流动视图ScrollView(从零开始学Android)
- 第16章、布局Layouts之GridLayout网格布局(从零开始学Android)
- 第16章、布局Layouts之GridLayout网格布局(从零开始学Android)
- 第16章、布局Layouts之GridLayout网格布局(从零开始学Android)
- 第16章、布局Layouts之GridLayout网格布局(从零开始学Android)
- Android 网格视图GridView
- android gridview网格视图
- Android组件 网格视图(GridView)
- Android基础之----GridView(网格视图)
- 网格视图(GridView)
- 第28章、列表视图ListView之一(从零开始学Android)
- 第29章、列表视图ListView之二(从零开始学Android)
- android 控件 网格视图(GridView)
- Android中GridView网格视图
- Android—Gridview(网格视图)
- Android 网格视图(GridView) 实践
- 第38章、开关控件Switch和ToggleButton(从零开始学Android)
- 凸多边形最优三角剖分
- AS3 加载外部SWF资源
- 字符串连接
- Mahout关联规则源码分析(2)
- 第39章、网格视图GridView(从零开始学Android)
- 三个数排序问题
- M个人,1到N报数出列问题
- 第40章、指针AnlogClock与数字DigitalClock时钟(从零开始学Android)
- VC 文件操作
- uboot引导内核错误——booting the kernel.
- 动画
- JS 导出网页中Table内容到excel
- Android ListView中带有时间数据的排序