android GridView的學習
1 :簡單的原始的GridView佈局 : http://blog.csdn.net/jiabinjlu/article/details/6921008
在該例子中,使用的是simpleAdapter來連接數據源和GridView
2:通過重寫Adapter ,對GridView的佈局做一些改動 :http://jackxlee.blog.51cto.com/2493058/674409
在該例子中,使用的是自定義的Adapter來連接數據源和GridView
package com.example.gridviewdemo;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;public class ImageAdapter extends BaseAdapter{
private Context context;
public ImageAdapter(Context context){
this.context = context;
}
private Integer[] images ={
R.drawable.get1,
R.drawable.get2,
R.drawable.get3,
R.drawable.get4,
R.drawable.get5,
R.drawable.get6
};
private String[] texts ={
"音樂",
"天空",
"文檔",
"芯片",
"音響",
"音響"
};
@Override
public int getCount() {
// TODO Auto-generated method stub
return images.length;
}@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) {
// TODO Auto-generated method stub
ImgTextWrapper wrapper;
if(convertView == null){
wrapper = new ImgTextWrapper();
LayoutInflater inflater = LayoutInflater.from(context);
//獲得對應的每一項的佈局格式
convertView = inflater.inflate(R.layout.gridview_item, null);
//設置一個對象
convertView.setTag(wrapper);
//設置邊距
convertView.setPadding(15, 15, 15, 15);
}else {
wrapper = (ImgTextWrapper) convertView.getTag();
}
wrapper.imageView = (ImageView) convertView.findViewById(R.id.imageView_item);
//在對應的位圖上,設置對應的圖片爲其背景
wrapper.imageView.setBackgroundResource(images[position]);
wrapper.textView = (TextView) convertView.findViewById(R.id.textView_item);
wrapper.textView.setText(texts[position]);
return convertView;
}//該類封裝了圖片和文字
class ImgTextWrapper {
ImageView imageView;
TextView textView;
}
}
然後在主程序中:
//找到容器
gridView = (GridView) findViewById(R.id.gridView1);
//ImageAdapter爲自定義的Adapter,
ImageAdapter adapter = new ImageAdapter(this);
//通過適配器連接數據源和容器
gridView.setAdapter(adapter);