现在的位置: 首页 > 综合 > 正文

Android GridView的使用

2013年03月22日 ⁄ 综合 ⁄ 共 2614字 ⁄ 字号 评论关闭
1. [代码][Java]代码      

01 package com.yarin.android.Examples_04_19; 


02   


03 import android.content.Context; 


04 import android.view.View; 


05 import android.view.ViewGroup; 


06 import android.widget.BaseAdapter; 


07 import android.widget.GridView; 


08 import android.widget.ImageView; 


09   


10 public class ImageAdapter extends BaseAdapter 


11 { 


12     // 定义Context 


13     private Context     mContext; 


14     // 定义整型数组 即图片源 


15     private Integer[]   mImageIds   =  


16     {  


17             R.drawable.img1,  


18             R.drawable.img2,  


19             R.drawable.img3,  


20             R.drawable.img4,  


21             R.drawable.img5,  


22             R.drawable.img6,  


23             R.drawable.img7, 


24             R.drawable.img8,  


25             R.drawable.img1,  


26     }; 


27   


28     public ImageAdapter(Context c) 


29     { 


30         mContext = c; 


31     } 


32   


33     // 获取图片的个数 


34     public int getCount() 


35     { 


36         return mImageIds.length; 


37     } 


38   


39     // 获取图片在库中的位置 


40     public Object getItem(int position) 


41     { 


42         return position; 


43     } 


44   


45   


46     // 获取图片ID 


47     public long getItemId(int position) 


48     { 


49         return position; 


50     } 


51   


52   


53     public View getView(int position, View convertView, ViewGroup parent) 


54     { 


55         ImageView imageView; 


56         if (convertView == null) 


57         { 


58             // 给ImageView设置资源 


59             imageView = new ImageView(mContext); 


60             // 设置布局 图片120×120显示 


61             imageView.setLayoutParams(new GridView.LayoutParams(85, 85)); 


62             // 设置显示比例类型 


63             imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); 


64         } 


65         else 


66         { 


67             imageView = (ImageView) convertView; 


68         } 


69   


70         imageView.setImageResource(mImageIds[position]); 


71         return imageView; 


72     } 


73   


74 } 


2. [代码][Java]代码      


01 package com.yarin.android.Examples_04_19; 


02   


03 import android.app.Activity; 


04 import android.os.Bundle; 


05 import android.view.View; 


06 import android.widget.AdapterView; 


07 import android.widget.GridView; 


08 import android.widget.Toast; 


09 import android.widget.AdapterView.OnItemClickListener; 


10   


11 public class Activity01 extends Activity 


12 { 


13     /** Called when the activity is first created. */ 


14     @Override 


15     public void onCreate(Bundle savedInstanceState) 


16     { 


17         super.onCreate(savedInstanceState); 


18         setContentView(R.layout.main); 


19   


20         //取得GridView对象 


21         GridView gridview = (GridView) findViewById(R.id.gridview); 


22         //添加元素给gridview 


23         gridview.setAdapter(new ImageAdapter(this)); 


24   


25         // 设置Gallery的背景 


26         gridview.setBackgroundResource(R.drawable.bg0); 


27   


28         //事件监听 


29         gridview.setOnItemClickListener(new OnItemClickListener() { 


30             public void onItemClick(AdapterView<?> parent, View v, int position, long id) 


31             { 


32                 Toast.makeText(Activity01.this, "你选择了" + (position + 1) + " 号图片", Toast.LENGTH_SHORT).show(); 


33             } 


34         }); 


35     } 


36 } 


3. [代码][XML]代码    


01 <?xml version="1.0" encoding="utf-8"?> 


02 <GridView xmlns:android="http://schemas.android.com/apk/res/android" 


03     android:id="@+id/gridview" 


04     android:layout_width="fill_parent" 


05     android:layout_height="fill_parent" 


06     android:numColumns="auto_fit" 


07     android:verticalSpacing="10dp" 


08     android:horizontalSpacing="10dp" 


09     android:columnWidth="90dp" 


10     android:stretchMode="columnWidth" 


11     android:gravity="center" 


12 /> 

抱歉!评论已关闭.