一:本节引言

GridView是是第二个Adapter类的控件,GridView就是显示网格!他和ListView一样是AbsListView的子类!
二:相关属性

        android:columnWidth:设置列的宽度        android:gravity:组件对其方式        android:horizontalSpacing:水平方向每个单元格的间距        android:verticalSpacing:垂直方向每个单元格的间距        android:numColumns:设置列数        android:stretchMode:设置拉伸模式,可选值如下: none:不拉伸;spacingWidth:拉伸元素间的间隔空隙                 columnWidth:仅仅拉伸表格元素自身 spacingWidthUniform:既拉元素间距又拉伸他们之间的间隔空袭 
三:使用实例

实现的效果图:

代码实现:

首先是GridView的item布局:

<?xml version="1.0" encoding="utf-8"?>        
然后是entity的实体类:Fruit.java:

package com.bzu.bztc.entity;public class Fruit {private int fruitId;private String fruitName;public Fruit(){}public Fruit(int fruitId, String fruitName) {this.fruitId = fruitId;this.fruitName = fruitName;}public int getFruitId() {return fruitId;}public void setFruitId(int fruitId) {this.fruitId = fruitId;}public String getFruitName() {return fruitName;}public void setFruitName(String fruitName) {this.fruitName = fruitName;}}
最后是MainActivity的布局及java代码

activity_main的布局:

         
MainActivity的Java代码:这里使用的Adapter是直接复用BaseAdapter的

package com.bzu.bztc.gridview;import java.util.ArrayList;import com.bzu.bztc.entity.Fruit;import com.bzu.bztc.entity.MyAdapter;import android.os.Bundle;import android.app.Activity;import android.content.Context;import android.view.Menu;import android.view.View;import android.widget.AdapterView;import android.widget.AdapterViewFlipper;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.Toast;public class MainActivity extends Activity {private Context mContext;private GridView grid_photo;private BaseAdapter mAdapter;private ArrayList mData = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mContext = MainActivity.this;grid_photo = (GridView) findViewById(R.id.grid_photo);mData = new ArrayList();mData.add(new Fruit(R.drawable.apple_pic, "苹果"));mData.add(new Fruit(R.drawable.banana_pic, "香蕉"));mData.add(new Fruit(R.drawable.cherry_pic, "樱桃"));mData.add(new Fruit(R.drawable.orange_pic, "橘子"));mData.add(new Fruit(R.drawable.mango_pic, "芒果"));mData.add(new Fruit(R.drawable.pear_pic, "梨"));mData.add(new Fruit(R.drawable.pineapple_pic, "菠萝"));mData.add(new Fruit(R.drawable.watermelon_pic, "西瓜"));mData.add(new Fruit(R.drawable.strawberry_pic, "草莓"));mData.add(new Fruit(R.drawable.grape_pic, "葡萄"));mAdapter = new MyAdapter(mData, R.layout.fruit_item) {@Overridepublic void bindView(ViewHolder holder, Fruit obj) {holder.setImageResource(R.id.img_icon, obj.getFruitId());holder.setText(R.id.txt_icon, obj.getFruitName());}};grid_photo.setAdapter(mAdapter);grid_photo.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position, long id) {Toast.makeText(mContext, "你点击了~" + position + "~项", Toast.LENGTH_SHORT).show();}});}}







更多相关文章

  1. android中的weight
  2. android简易网页播放器
  3. Android(安卓)组件属性
  4. Android实现全屏显示的方法
  5. Android(安卓)线性布局(LinearLayout)内各控件如何设置间距
  6. Android(安卓)- Android(安卓)Studio 安装 及 设置 [最新]
  7. android之控件EditText学习
  8. layout_gravity和gravity的区别
  9. ui布局参数设置

随机推荐

  1. 下载Android SDK tools完成Android SDK
  2. Android小项目之 where are you 监控
  3. 一看就懂的Android APP开发入门教程
  4. 屏和竖屏切换是否调用Activity生命周期在
  5. 深入理解 Android 系统升级
  6. eclipse中开发Android出现问题解决记录和
  7. Android中调用Unity3D探索
  8. 安卓从入门到精通路线图
  9. Android实时监控项目第一篇:项目分析及AVD
  10. android中怎样将自己的应用程序的签名改