Android实用笔记——使用GridView以表格的形式显示多张图片
2016-07-26 00:00
447 查看
1、编辑activity_main.xml文件
2、添加编辑item.xml文件
3、修改AndroidManifest.xml中如下一行代码
4、导入如下图片至res->drawable-hdpi文件夹下
5、修改MainActivity.java文件
6、结果
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <!-- android:numColumns=""每一行显示多少列 android:horizontalSpacing=""两列之间的间距 android:verticalSpacing="" 两行之间的间距 --> <GridView android:layout_marginTop="10dp" android:id="@+id/gridView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numColumns="3" android:horizontalSpacing="10dp" android:verticalSpacing="10dp" > </GridView> </LinearLayout>
2、添加编辑item.xml文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="center" android:background="#000000"> <ImageView android:src="@drawable/ic_launcher" android:id="@+id/image" android:layout_width="60dp" android:layout_height="60dp" /> <TextView android:id="@+id/text" android:layout_marginTop="5dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#ffffff" android:text="文字" /> </LinearLayout>
3、修改AndroidManifest.xml中如下一行代码
android:theme="@android:style/Theme.Black.NoTitleBar" >
4、导入如下图片至res->drawable-hdpi文件夹下
5、修改MainActivity.java文件
package com.example.myandroidgridview; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.GridView; import android.widget.SimpleAdapter; import android.widget.Toast; //14、配置事件监听器 public class MainActivity extends Activity implements OnItemClickListener{ //1、创建GridView对象 private GridView gridView; //6、声明数据源集合 private List<Map<String, Object>>dataList; //8、把图片资源放到数组里、所有drawable里的图片id都相当于一个整型,所以用整形数组进行封装 private int[]icon={R.drawable.address_book, R.drawable.calendar, R.drawable.camera, R.drawable.clock, R.drawable.games_control, R.drawable.messenger, R.drawable.ringtone, R.drawable.settings, R.drawable.speech_balloon, R.drawable.weather, R.drawable.world, R.drawable.youtube,}; //9、把图标名称也封装在数组里 private String[] iconName={"通讯录","日历","照相机","时钟","游戏", "联系人","音乐","设置","短信","天气","浏览器","视频"}; //10、声明简单适配器 private SimpleAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); 3ff0 //2、将适配器对象与布局文件进行绑定 gridView= (GridView) findViewById(R.id.gridView); //3、具体步骤 //准备数据源 //新建适配器SimpleAdapter //GridView加载适配器 //给GridView配置事件监听器OnItemClickListener //7、新建数据源集合 dataList=new ArrayList<Map<String,Object>>(); //4、用写在外面的getData()函数来获取数据源 //getData(); //11、新建简单适配器SimpleAdapter(上下文,数据源,布局文件,Map键名,绑定数据视图id,); adapter=new SimpleAdapter(this,getData(),R.layout.item, new String[]{"image","text"},new int[]{R.id.image,R.id.text}); //12、加载适配器 gridView.setAdapter(adapter); //16、加载监听器 gridView.setOnItemClickListener(this); } private List<Map<String,Object>> getData() { // TODO Auto-generated method stub //13、将数据源填充到list集合中 for(int i=0;i<icon.length;i++){ Map<String, Object>map=new HashMap<String, Object>(); map.put("image", icon[i]); map.put("text",iconName[i]); dataList.add(map); } //5、SimpleAdapter的数据源是一个特殊泛型的集合 return dataList; } //15、重写事件监听器的方法 @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub Toast.makeText(this, "我是"+iconName[position], Toast.LENGTH_SHORT).show(); } }
6、结果
相关文章推荐
- Android实用笔记——使用Spinner实现下拉列表
- Android studio 提取style和恢复
- msm8909+android5.1启动流程(2)---lk源代码目录及入口
- 【android开发代码保护】ARM平台代码保护之虚拟化
- android studio在Refresh gradle project卡死,附解决办法
- Android 循环上下滚动
- Android 读取usb设备
- [android] 练习viewpagerindicator的使用(一)
- Android studio 提取方法和恢复
- android 广告轮播位Banner轮播位 使用超级方便
- RecycleView的使用
- 使用FFmpeg4android 实现视频 水印 剪切 压缩 旋转
- Android home/up 按钮
- Glide 加载 七牛 动态url 图片并缓存
- Android -- Looper、Handler、MessageQueue等类之间关系的序列图
- 关于android调用WebService的问题
- Android应用启动、退出分析
- Android studio 多渠道打包(超简洁版)
- Android 自定义属性
- Android studio 更改log颜色