Android之Gridview图片列表
创始人
2024-07-30 15:40:50
0

gridview是一项显示二维的viewgroup,可滚动的网格。网格项时自动插入的布局使用listadapter。
1.创建一个新的项目:gridview.

2,打开 res/layout/main.xml文件,插入一下代码:

  1.  
  2.     android:orientation="vertical" 
  3.     android:layout_width="fill_parent" 
  4.     android:layout_height="fill_parent" 
  5.     > 
  6.          android:id="@+id/gridview" 
  7.          android:layout_width="fill_parent" 
  8.          android:layout_height="fill_parent" 
  9.          android:columnWidth="90dp" 
  10.          android:numColumns="auto_fit" 
  11.          android:verticalSpacing="10dp" 
  12.          android:horizontalSpacing="10dp" 
  13.          android:stretchMode="columnWidth" 
  14.          android:gravity="center" 
  15.          />   
  16.  

做好以后就可以在屏幕上显示一个grid view

3.打开gridview.java首先要导入包:

 

  1. package cn.gridview;  
  2. import android.widget.GridView;  
  3. import android.widget.Toast;  
  4. import android.app.Activity;  
  5. import android.os.Bundle;  
  6. import android.widget.AdapterView.OnItemClickListener;  
  7. import android.widget.AdapterView;  
  8. import android.view.View;  
  9. 在onCreate添加方法:  
  10.  public void onCreate(Bundle savedInstanceState) {  
  11.         super.onCreate(savedInstanceState);  
  12.         setContentView(R.layout.main);  
  13.         GridView gridview=(GridView)findViewById(R.id.gridview);//找到main.xml中定义gridview 的id  
  14.         gridview.setAdapter(new ImageAdapter(this));//调用ImageAdapter.java  
  15.         gridview.setOnItemClickListener(new OnItemClickListener(){//监听事件  
  16.          public void onItemClick(AdapterView parent, View view, int position, long id)   
  17.          {  
  18.           Toast.makeText(gridview.this, ""+position,Toast.LENGTH_SHORT).show();//显示信息;  
  19.          }  
  20.         });  
  21.     }  
  22. ImageAdapter.java  
  23. package cn.gridview;  
  24. import android.view.View;  
  25. import android.view.ViewGroup;  
  26. import android.widget.BaseAdapter;  
  27. import android.content.Context;  
  28. import android.widget.ImageView;  
  29. import android.widget.GridView;  
  30. public class ImageAdapter extends BaseAdapter {  
  31.  private Context mContext;  
  32.    
  33.  public ImageAdapter(Context c)  
  34.  {  
  35.   mContext=c;  
  36.  }  
  37.  @Override  
  38.  public int getCount() {  
  39.   // TODO Auto-generated method stub  
  40.   return mThumbIds.length;  
  41.  }  
  42. @Override  
  43.  public Object getItem(int position) {  
  44.   // TODO Auto-generated method stub  
  45.   return null;  
  46.  }  
  47. @Override  
  48.  public long getItemId(int position) {  
  49.   // TODO Auto-generated method stub  
  50.   return 0;  
  51.  }  
  52.  @Override  
  53.  public View getView(int position, View convertView, ViewGroup parent) {  
  54.   // TODO Auto-generated method stub  
  55.     
  56.   ImageView imageview;  
  57.   if(convertView==null)  
  58.   {  
  59.    imageview=new ImageView(mContext);  
  60.    imageview.setLayoutParams(new GridView.LayoutParams(85, 85));  
  61.    imageview.setScaleType(ImageView.ScaleType.CENTER_CROP);  
  62.    imageview.setPadding(8,8,8,8);  
  63.  }  
  64.   else  
  65.   {  
  66.    imageview=(ImageView) convertView;  
  67.   }  
  68.   imageview.setImageResource(mThumbIds[position]);  
  69.   return imageview;  
  70.   }  
  71. private Integer[] mThumbIds={//显示的图片数组   
  72.   R.drawable.sample_2,R.drawable.sample_3,  
  73.   R.drawable.sample_4,R.drawable.sample_5,  
  74.   R.drawable.sample_6,R.drawable.sample_7,  
  75.   R.drawable.sample_0,R.drawable.sample_1,  
  76.   R.drawable.sample_2,R.drawable.sample_3,  
  77.   R.drawable.sample_4,R.drawable.sample_5,  
  78.   R.drawable.sample_6,R.drawable.sample_7,  
  79.   R.drawable.sample_0,R.drawable.sample_1,  
  80.   R.drawable.sample_2,R.drawable.sample_3,  
  81.   R.drawable.sample_4,R.drawable.sample_5,  
  82.   R.drawable.sample_6,R.drawable.sample_7,  
  83.  };  

运行后界面如下:

【编辑推荐】

Android开发之旅 环境搭建

Android 开发简介 基于平台

Android开发之旅:Android架构

常用的Android指令和模拟器参数

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...