GridView(网络视图)的基本使用

一:本节引言

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

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

实现的效果图:

GridView(网络视图)的基本使用_第1张图片

代码实现:

首先是GridView的item布局:





    

    

然后是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;

	@Override
	protected 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) {
			@Override
			public 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() {

					@Override
					public void onItemClick(AdapterView parent, View view, int position, long id) {
						Toast.makeText(mContext, "你点击了~" + position + "~项", Toast.LENGTH_SHORT).show();
					}

				});

	}
}







你可能感兴趣的:(Android)