android用户界面-组件Widget-网格视图GridView

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

通过基础类BaseAdapter类,重写getView()方法来设置图片显示格式。

 

/Chapter04_UI_GridView01/src/com/amaker/test/MainActivity.java

代码
   
     
package com.amaker.test;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;

public class MainActivity extends Activity {
private GridView gv;

@Override
public void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout.main);
gv
= (GridView)findViewById(R.id.GridView01);
gv.setNumColumns(
4 );
// gv.setNumColumns(3);
// String[] strs = {"a","a1","a2","b","b1","b2","c","c1","c2"};
// ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_gallery_item,strs);
gv.setAdapter( new MyAdapter( this ));

}

class MyAdapter extends BaseAdapter{

private Integer[] imgs = {
R.drawable.gallery_photo_1,
R.drawable.gallery_photo_2,
R.drawable.gallery_photo_3,
R.drawable.gallery_photo_4,
R.drawable.gallery_photo_5,
R.drawable.gallery_photo_6,
R.drawable.gallery_photo_7,
R.drawable.gallery_photo_8,

R.drawable.gallery_photo_1,
R.drawable.gallery_photo_2,
R.drawable.gallery_photo_3,
R.drawable.gallery_photo_4,
R.drawable.gallery_photo_5,
R.drawable.gallery_photo_6,
R.drawable.gallery_photo_7,
R.drawable.gallery_photo_8
};
Context context;
MyAdapter(Context context){
this .context = context;
}
public int getCount() {
return imgs.length;
}

public Object getItem( int item) {
return item;
}

public long getItemId( int id) {
return id;
}

public View getView( int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null ) {
imageView
= new ImageView(context);
imageView.setLayoutParams(
new GridView.LayoutParams( 45 , 45 ));
imageView.setAdjustViewBounds(
false );
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(
8 , 8 , 8 , 8 );
}
else {
imageView
= (ImageView) convertView;
}
imageView.setImageResource(imgs[position]);
return imageView;
}
}
}

 

你可能感兴趣的:(GridView)