Android 控件系列: GridView 的简单使用

要做gridview 首先我们要做的有三点:

1.  xml中添加 GridView 控件

2. 继承BaseAdapter 类

3. 载入数据到GridView

 

 

1. xml 中添加 GridView控件

 

 

    <GridView 
        android:id="@+id/GridView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"  
        android:layout_marginTop="5dip"
        android:layout_marginBottom="5dip"
       	android:gravity="center" 
        android:columnWidth="42dip"
        android:numColumns="auto_fit"
        ></GridView>


android:columnWidth  该属性表示每个项的宽度

android:numColumns 该属性表示自动排列项 

 

2. 继承BaseAdapter类

 

public class GridViewAdapter extends BaseAdapter
{

	//private ArrayList<Integer> mIndexList;
	private ArrayList<Drawable> mDrawables;
	private int mWidth;
	private int mHeight;
	private Context mContext;
	
	public GridViewAdapter(Context context, ArrayList<Drawable> drawables, int width, int height)
	{
		//mIndexList 	= indexList;
		mDrawables 	= drawables;
		mWidth		= width;
		mHeight 	= height;
		mContext	= context;
	}
	
	@Override
	public int getCount()
	{
		// TODO Auto-generated method stub
		return mDrawables.size();
	}

	@Override
	public Object getItem(int position)
	{
		// TODO Auto-generated method stub
		return position;
	}

	@Override
	public long getItemId(int position)
	{
		// TODO Auto-generated method stub
		return position;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent)
	{
		ImageView img;
		if(convertView == null)
			{
			img = new ImageView(mContext);
			img.setScaleType(ImageView.ScaleType.FIT_CENTER);
			img.setLayoutParams(new GridView.LayoutParams(mWidth, mHeight));
		}
		else 
		{
			img = (ImageView)convertView;
		}
		
		img.setImageDrawable(mDrawables.get(position));
		
		return img;
	}

}


3. 载入数据到GridView

 

private void addData()
	{
		ArrayList<Drawable> drawables = new ArrayList<Drawable>();
		
		int nCount = 50;  //GridView要放入图标的总数量
		for(int i = 0; i < nCount; i++)
		{
			drawables.add(mContext.getResources().getDrawable(R.drawable.icon));
		}
		
		GridViewAdapter gridViewAdapter = new GridViewAdapter(mContext, drawables, 48, 48);
		mGridView.setAdapter(gridViewAdapter);
	}


 

你可能感兴趣的:(xml,android,object,layout,null,Class)