Android网格布局GridView学习使用

Android网格布局GridView学习使用,第1张

概述 应用开发的时候,有时我们需要将一些图片进行预览,例如:相片管理的应用。这个时候用ListView的话就显得不是太合适了,因为ListView的展现形式毕竟不适合这种预览要求,那么通过什么视图组件可 以实现呢

 应用开发的时候,有时我们需要将一些图片进行预览,例如:相片管理的应用。这个时候用ListVIEw的话就显得不是太合适了,因为ListVIEw的展现形式毕竟不适合这种预览要求,那么通过什么视图组件可 以实现呢?这里就可以使用GrIDVIEw,androID中的网格布局来实现了。

GrIDVIEw控件用于把一系列的控件组织成二维网格的形式显示出来,应用较多的也就是图片的组合显示了。关于GrIDVIEw的使用直接看例子程序。

先看效果图:

具体实现方式如下:

主布局文件main.xml

@H_419_19@
<?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" /> 

适配器ImageAdapter.java(继承BaseAdapter)

@H_419_19@
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.img_1,R.drawable.img_2,R.drawable.img_3,R.drawable.img_4,R.drawable.img_5,R.drawable.img_6,R.drawable.img_7,R.drawable.img_8,R.drawable.img_1,};   public ImageAdapter(Context c)  {   mContext = c;  }   // 获取图片的个数,从而知道需要加载的Item的数目与getVIEw()配合循环加载  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)   {    // Item没有被加载过,给ImageVIEw设置资源    imageVIEw = new ImageVIEw(mContext);    // 设置布局 图片60*60显示    imageVIEw.setLayoutParams(new GrIDVIEw.LayoutParams(65,65));    // 设置显示比例类型    imageVIEw.setScaleType(ImageVIEw.ScaleType.CENTER_INSIDE);   }   else   {    //Item已经被加载过,直接返回convertVIEw    imageVIEw = (ImageVIEw) convertVIEw;   }    imageVIEw.setimageResource(mImageIDs[position]);   return imageVIEw;  }  } 

主Activity:

@H_419_19@
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 {    @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));    // 设置GrIDVIEw的背景   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();    }   });  } } 

上面这种方式实现了图片的单选功能,但是多选功能怎么实现呢?下篇文章为大家介绍。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

以上是内存溢出为你收集整理的Android网格布局GridView学习使用全部内容,希望文章能够帮你解决Android网格布局GridView学习使用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1143320.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存