玩转Android---UI篇---GridView(网格布局)

原址:http://hualang.iteye.com/category/143855

GridView按照行列的方式来显示内容,一般适合显示图标、图片等内容,主要用于设置Adapter

在这里主要是基础BaseAdapter类,重写其中的方法,主要是重写getView方法设置图片的显示格式

 

实例代码如下

GridViewTest.java

Java代码   收藏代码
  1. /* 
  2.  * @author hualang 
  3.  */  
  4. package org.hualang.grid;  
  5.   
  6. import android.app.Activity;  
  7. import android.content.Context;  
  8. import android.os.Bundle;  
  9. import android.view.View;  
  10. import android.view.ViewGroup;  
  11. import android.widget.BaseAdapter;  
  12. import android.widget.GridView;  
  13. import android.widget.ImageView;  
  14.   
  15. public class GridViewTest extends Activity {  
  16.     /** Called when the activity is first created. */  
  17.     private GridView gv;  
  18.     @Override  
  19.     public void onCreate(Bundle savedInstanceState) {  
  20.         super.onCreate(savedInstanceState);  
  21.         setContentView(R.layout.main);  
  22.           
  23.         //通过findViewById方法获得GridView对象  
  24.         gv=(GridView)findViewById(R.id.GridView01);  
  25.         //设置GridView的行数  
  26.         gv.setNumColumns(4);  
  27.         gv.setAdapter(new MyAdapter(this));  
  28.     }  
  29.     //自定义适配器  
  30.     class MyAdapter extends BaseAdapter  
  31.     {  
  32.         //图片id数组  
  33.         private Integer[] imgs={  
  34.                 R.drawable.img01,  
  35.                 R.drawable.img02,  
  36.                 R.drawable.img03,  
  37.                 R.drawable.img04,  
  38.                 R.drawable.img05,  
  39.                 R.drawable.img06,  
  40.                 R.drawable.img07,  
  41.                 R.drawable.img08,  
  42.                   
  43.                 R.drawable.img01,  
  44.                 R.drawable.img02,  
  45.                 R.drawable.img03,  
  46.                 R.drawable.img04,  
  47.                 R.drawable.img05,  
  48.                 R.drawable.img06,  
  49.                 R.drawable.img07,  
  50.                 R.drawable.img08  
  51.         };  
  52.         //上下文对象  
  53.         Context context;  
  54.         //构造方法  
  55.         MyAdapter(Context context)  
  56.         {  
  57.             this.context=context;  
  58.         }  
  59.         //获得数量  
  60.         public int getCount()  
  61.         {  
  62.             return imgs.length;  
  63.         }  
  64.         //获得当前选项  
  65.         public Object getItem(int item)  
  66.         {  
  67.             return item;  
  68.         }  
  69.         //获得当前选项id  
  70.         public long getItemId(int id)  
  71.         {  
  72.             return id;  
  73.         }  
  74.           
  75.         //创建View方法  
  76.         public View getView(int position,View convertView,ViewGroup parent)  
  77.         {  
  78.             ImageView imageView;  
  79.             if(convertView==null)  
  80.             {  
  81.                 //实例化ImageView对象  
  82.                 imageView=new ImageView(context);  
  83.                 //设置ImageView对象布局  
  84.                 imageView.setLayoutParams(new GridView.LayoutParams(45,45));  
  85.                 //设置边界对齐  
  86.                 imageView.setAdjustViewBounds(false);  
  87.                 //设置刻度类型  
  88.                 imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);  
  89.                 //设置间距  
  90.                 imageView.setPadding(8,8,8,8);  
  91.             }else  
  92.             {  
  93.                 imageView=(ImageView)convertView;  
  94.             }  
  95.             //为ImageView设置图片资源  
  96.             imageView.setImageResource(imgs[position]);  
  97.             return imageView;  
  98.         }  
  99.           
  100.     }  
  101. }  

 main.xml

Java代码   收藏代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical"  
  4.     android:layout_width="fill_parent"  
  5.     android:layout_height="fill_parent"  
  6.     >  
  7. <GridView   
  8.     android:id="@+id/GridView01"   
  9.     android:layout_width="wrap_content"   
  10.     android:layout_height="wrap_content"></GridView>  
  11. </LinearLayout>  

 运行结果如下



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值