一:本节引言

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布局:

<?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布局属性补遗
  2. Android 线性布局(LinearLayout)内各控件如何设置间距
  3. 线性布局和相对布局
  4. Android 基本的UI布局
  5. 常用的布局和View常用属性

随机推荐

  1. Delphi XE开发 Android(安卓)开机自动启
  2. Android应用程序中执行二进制命令
  3. Android push 极光通信
  4. Android Animation 框架
  5. Android SDK: adb shell 命令的使用(am、p
  6. RTC搭建android下三层应用程序访问服务器
  7. Android 绑定数据到界面控件
  8. 转发---Android(安卓)DRM
  9. android M 指纹api小示例
  10. Android 官方博客 - Android应用程序的内