免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1828 | 回复: 0
打印 上一主题 下一主题

Android GridView的使用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-02-09 16:50 |只看该作者 |倒序浏览
Android的GridView控件用于把一系列的空间组织成一个二维的网格显示出来应用的比较多的就是组合图片显示下面我就详细讲一个例子

首先写一个类继承BaseAdapter
  1. package com.yarin.android.Examples_04_19;

  2. import android.content.Context;
  3. import android.view.View;
  4. import android.view.ViewGroup;
  5. import android.widget.BaseAdapter;
  6. import android.widget.GridView;
  7. import android.widget.ImageView;

  8. public class ImageAdapter extends BaseAdapter
  9. {
  10.         // 定义Context
  11.         private Context                mContext;
  12.         // 定义整型数组 即图片源
  13.         private Integer[]        mImageIds        =
  14.         {
  15.                         R.drawable.img1,
  16.                         R.drawable.img2,
  17.                         R.drawable.img3,
  18.                         R.drawable.img4,
  19.                         R.drawable.img5,
  20.                         R.drawable.img6,
  21.                         R.drawable.img7,
  22.                         R.drawable.img8,
  23.                         R.drawable.img1,
  24.         };

  25.         public ImageAdapter(Context c)
  26.         {
  27.                 mContext = c;
  28.         }

  29.         // 获取图片的个数
  30.         public int getCount()
  31.         {
  32.                 return mImageIds.length;
  33.         }

  34.         // 获取图片在库中的位置
  35.         public Object getItem(int position)
  36.         {
  37.                 return position;
  38.         }


  39.         // 获取图片ID
  40.         public long getItemId(int position)
  41.         {
  42.                 return position;
  43.         }


  44.         public View getView(int position, View convertView, ViewGroup parent)
  45.         {
  46.                 ImageView imageView;
  47.                 if (convertView == null)
  48.                 {
  49.                         // 给ImageView设置资源
  50.                         imageView = new ImageView(mContext);
  51.                         // 设置布局 图片120×120显示
  52.                         imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
  53.                         // 设置显示比例类型
  54.                         imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
  55.                 }
  56.                 else
  57.                 {
  58.                         imageView = (ImageView) convertView;
  59.                 }

  60.                 imageView.setImageResource(mImageIds[position]);
  61.                 return imageView;
  62.         }

  63. }
复制代码
  1. package com.yarin.android.Examples_04_19;

  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.View;
  5. import android.widget.AdapterView;
  6. import android.widget.GridView;
  7. import android.widget.Toast;
  8. import android.widget.AdapterView.OnItemClickListener;

  9. public class Activity01 extends Activity
  10. {
  11.         /** Called when the activity is first created. */
  12.         @Override
  13.         public void onCreate(Bundle savedInstanceState)
  14.         {
  15.                 super.onCreate(savedInstanceState);
  16.                 setContentView(R.layout.main);

  17.                 //取得GridView对象
  18.                 GridView gridview = (GridView) findViewById(R.id.gridview);
  19.                 //添加元素给gridview
  20.                 gridview.setAdapter(new ImageAdapter(this));

  21.                 // 设置Gallery的背景
  22.                 gridview.setBackgroundResource(R.drawable.bg0);

  23.                 //事件监听
  24.                 gridview.setOnItemClickListener(new OnItemClickListener() {
  25.                         public void onItemClick(AdapterView<?> parent, View v, int position, long id)
  26.                         {
  27.                                 Toast.makeText(Activity01.this, "你选择了" + (position + 1) + " 号图片", Toast.LENGTH_SHORT).show();
  28.                         }
  29.                 });
  30.         }
  31. }
复制代码
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <GridView xmlns:android="http://schemas.android.com/apk/res/android"
  3.     android:id="@+id/gridview"
  4.     android:layout_width="fill_parent"
  5.     android:layout_height="fill_parent"
  6.     android:numColumns="auto_fit"
  7.     android:verticalSpacing="10dp"
  8.     android:horizontalSpacing="10dp"
  9.     android:columnWidth="90dp"
  10.     android:stretchMode="columnWidth"
  11.     android:gravity="center"
  12. />
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP