Android开发:GridView常用技巧(一)

2014-11-24 11:36:39 ? 作者: ? 浏览: 5

GridView AdapterView 的派生类, AdapterView ViewGroup 的派生类, ViewGroup View 的派生类。


什么是 GridView ?官方的说法是:


A view that shows items in two-dimensional scrolling grid. The items in the grid come from the ListAdapter associated with this view


这句话包含以下几个意思:


+ GridView 是一个二维可滚动的网格视图


+ GridView 中的数据是有与之关联的 ListAdapter 提供的


下面就一个具体的例子来说明 GridView 的用法。


1. 创建一个项目,修改 main.xml 使之如下:


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



android:id = "@+id/gridview"


android:layout_width = "fill_parent"


android:layout_height = "fill_parent"


android:background = "#333"


android:columnWidth = "90px"


android:numColumns = "auto_fit"


android:horizontalSpacing = "6px"


android:verticalSpacing = "6px"


android:stretchMode = "columnWidth"


android:gravity = "center" >



GridView >



2. 将相关的图片拖入 res/drawable-mdpi 文件夹中:





以上各图对应的文件名分别为:


.aa.png, al.png, ar.png. au.png, cf.png, cn .png, dm .png, eu .png, fa .png, gr .png, hk .png, in .png, ma .png, pk .png, ru .png, sk .png, uk .png, us .png,



3. 自定义 Adapter ,使之如下:


package com.pat.gui;



import android.content.Context;


import android.view.LayoutInflater;


import android.view.View;


import android.view.ViewGroup;


import android.widget.BaseAdapter;


import android.widget.GridView;


import android.widget.ImageView;


import android.widget.LinearLayout;


import android.widget.TextView;



public class ImageAdapter extends BaseAdapter


{


private Context ctx;


private int[] images =


{


R.drawable.aa, // Austria


R.drawable.al, // Algeria


R.drawable.ar, // Argentina


R.drawable.au, // Austrilia


R.drawable.cf, // Swizterland


R.drawable.cn, // China


R.drawable.dm, // Denmark


R.drawable.eu, // European Union


R.drawable.fa, // France


R.drawable.gr, // Greece


R.drawable.hk, // Hong Kong


R.drawable.in, // India


R.drawable.ma, // Macau


R.drawable.pk, // Pakistan


R.drawable.ru, // Russia


R.drawable.sk, // South Korea


R.drawable.uk, // United Kingdom


R.drawable.us // United States


};



public ImageAdapter(Context ctx)


{


this.ctx = ctx;


}



//@Override


public int getCount()


{


return images.length;


}



//@Override


public Object getItem(int position)


{


return images[position];


}



//@Override


public long getItemId(int position)


{


return images[po

-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: