欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android开发中GridView用法示例

程序员文章站 2023-12-04 09:30:46
本文实例讲述了android开发中gridview用法。分享给大家供大家参考,具体如下: android的gridview控件用于把一系列的空间组织成一个二维的网格显示出...

本文实例讲述了android开发中gridview用法。分享给大家供大家参考,具体如下:

android的gridview控件用于把一系列的空间组织成一个二维的网格显示出来,应用的比较多的就是组合图片显示。下面我就详细讲一个例子。

首先写一个类继承baseadapter

1. java代码

package com.yarin.android.examples_04_19;
import android.content.context;
import android.view.view;
import android.view.viewgroup;
import android.widget.baseadapter;
import android.widget.gridview;
import android.widget.imageview;
public class imageadapter extends baseadapter
{
  // 定义context
  private context   mcontext;
  // 定义整型数组 即图片源
  private integer[]  mimageids  =
  {
      r.drawable.img1,
      r.drawable.img2,
      r.drawable.img3,
      r.drawable.img4,
      r.drawable.img5,
      r.drawable.img6,
      r.drawable.img7,
      r.drawable.img8,
      r.drawable.img1,
  };
  public imageadapter(context c)
  {
    mcontext = c;
  }
  // 获取图片的个数
  public int getcount()
  {
    return mimageids.length;
  }
  // 获取图片在库中的位置
  public object getitem(int position)
  {
    return position;
  }
  // 获取图片id
  public long getitemid(int position)
  {
    return position;
  }
  public view getview(int position, view convertview, viewgroup parent)
  {
    imageview imageview;
    if (convertview == null)
    {
      // 给imageview设置资源
      imageview = new imageview(mcontext);
      // 设置布局 图片120×120显示
      imageview.setlayoutparams(new gridview.layoutparams(85, 85));
      // 设置显示比例类型
      imageview.setscaletype(imageview.scaletype.fit_center);
    }
    else
    {
      imageview = (imageview) convertview;
    }
    imageview.setimageresource(mimageids[position]);
    return imageview;
  }
}

2. java代码

package com.yarin.android.examples_04_19;
import android.app.activity;
import android.os.bundle;
import android.view.view;
import android.widget.adapterview;
import android.widget.gridview;
import android.widget.toast;
import android.widget.adapterview.onitemclicklistener;
public class activity01 extends activity
{
  /** called when the activity is first created. */
  @override
  public void oncreate(bundle savedinstancestate)
  {
    super.oncreate(savedinstancestate);
    setcontentview(r.layout.main);
    //取得gridview对象
    gridview gridview = (gridview) findviewbyid(r.id.gridview);
    //添加元素给gridview
    gridview.setadapter(new imageadapter(this));
    // 设置gallery的背景
    gridview.setbackgroundresource(r.drawable.bg0);
    //事件监听
    gridview.setonitemclicklistener(new onitemclicklistener() {
      public void onitemclick(adapterview<?> parent, view v, int position, long id)
      {
        toast.maketext(activity01.this, "你选择了" + (position + 1) + " 号图片", toast.length_short).show();
      }
    });
  }
}

3. xml代码

<?xml version="1.0" encoding="utf-8"?>
<gridview xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/gridview"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:numcolumns="auto_fit"
  android:verticalspacing="10dp"
  android:horizontalspacing="10dp"
  android:columnwidth="90dp"
  android:stretchmode="columnwidth"
  android:gravity="center"
/>

更多关于android相关内容感兴趣的读者可查看本站专题:《android控件用法总结》、《android开发入门与进阶教程》、《android视图view技巧总结》、《android编程之activity操作技巧总结》、《android数据库操作技巧总结》及《android资源操作技巧汇总

希望本文所述对大家android程序设计有所帮助。