Android 之 GridView初探
2015-07-22 22:00
519 查看
正所谓分享是一种精神,乐于分享是一种更是一种极客精神,话说今天没写篇博文感觉自己好像没在学习一样,以此供上一篇。
先来谈谈
1.
2.
3.
接下来我们就利用
在layout文件夹下创建
再新建一个item.xml,代码如下:
接下来只要在java文件进行简单的适配即可大功告成,我这边用的是
运行一下程序,你会看到如下:
先来谈谈
gridview这个控件,这个控件有点类似于
tablelayout的布局(:-D,个人感觉,但是这个控件比操作性相当简单),下面我们就来谈谈gridview的用法:
1.
android:verticalSpacing:这个是用来设置行距的
2.
android:horizontalSpacing:设置列距
3.
android:numColumns:每一行要显示的列数
接下来我们就利用
gridview做一个小demo,首先新建一个
gridviewproject工程:
在layout文件夹下创建
main.xml,加入
gridview控件,如下:
[code]<?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" > <GridView android:gravity="center_horizontal" android:layout_marginTop="15dp" android:id="@+id/gridView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:verticalSpacing="10dp" android:horizontalSpacing="10dp" android:numColumns="3" > </GridView> </LinearLayout>
再新建一个item.xml,代码如下:
[code]<?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:gravity="center" android:background="#000000" android:orientation="vertical" > <ImageView android:id="@+id/image" android:layout_width="60dp" android:layout_height="60dp" android:layout_gravity="center" /> <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:textColor="#ffffff" /> </LinearLayout>
接下来只要在java文件进行简单的适配即可大功告成,我这边用的是
simpleadapter,你也可以用
arrayadapter,感觉那个比较喜欢就用那个:
[code]package com.example.gridviewproject; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.Activity; import android.app.ActionBar; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.GridView; import android.widget.SimpleAdapter; import android.widget.Toast; import android.os.Build; public class MainActivity extends Activity implements OnItemClickListener{ private GridView gridView; private List<Map<String,Object>> datalist=new ArrayList<Map<String,Object>>(); private SimpleAdapter adapter; //我的图片 private int[] icons={ 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 }; private String[] words={ "书籍","日历","照相机","时钟","游戏","信息", "脱口秀","设置","快速走廊","天气","世界","有土鳖" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); gridView=(GridView)findViewById(R.id.gridView); adapter=new SimpleAdapter(this, getData(), R.layout.item, new String[]{"image","text"}, new int[]{R.id.image,R.id.text}); gridView.setAdapter(adapter); gridView.setOnItemClickListener(this); } //初始化数据 public List<Map<String,Object>> getData(){ for(int i=0;i<icons.length;i++){ Map<String,Object> icon=new HashMap<String,Object>(); icon.put("image", icons[i]); icon.put("text", words[i]); datalist.add(icon); } return datalist; } //设置监听 @Override public void onItemClick(AdapterView<?> arg0, View v, int position, long id) { // TODO Auto-generated method stub Toast.makeText(this, words[position], Toast.LENGTH_SHORT).show(); } }
运行一下程序,你会看到如下:
相关文章推荐
- 如何让你的APK跑在 com.android.phone 进程
- android之适配器
- Android小记:SpannableString
- 51-android.rules详解
- Android 底部菜单配合listview的问题
- Android学习笔记(十二)
- Android控件介绍
- android view 绘制流程
- Android的生命周期
- Android实战简易教程-第二十三枪(基于Baas的用户注册验证用户名是否重复功能!)
- Android入门:短信和拨打电话
- Android 动态logo bootanimation.zip 制作
- 使用线程执行堆栈StackTraceElement设计Android日志模块
- Android中的回调函数使用
- [Android&Java]浅谈设计模式-代码篇:观察者模式Observer
- 利用WIFI(不用数据线)连接Android手机进行调试
- Android底层代码中用到的几种设计模式
- Android 属性系统 Property service 设定分析
- Android实战简易教程-第二十二枪(基于Baas的用户注册功能)
- Android中WebView与JS的交互