GridView组件的使用

来源:互联网 发布:淘宝上做什么最赚钱 编辑:程序博客网 时间:2024/06/14 13:03



一、main.xml代码如下:

<?xml version="1.0" encoding="utf-8"?><GridView  xmlns:android="http://schemas.android.com/apk/res/android"  android:id="@+id/gridview"  android:layout_width="fill_parent"  android:layout_height="fill_parent"  android:columnWidth="90dp"  android:numColumns="auto_fit"  android:horizontalSpacing="10dp"  android:verticalSpacing="10dp"  android:stretchMode="columnWidth"  android:gravity="center"></GridView>


很简单,就是一个GridView。设置列宽为90dp,这样当我们的numColumns设置为auto_fit时,Android就会自动计算我们手机屏幕的大小以决定每一行展示几个元素。这是很方便。android:horizontalSpacing定义列之间的间隔,android:verticalSpacing定义行之间的间隔。android:stretchMode设置为columnWidth是意味着根据列宽自动缩放。


二、java代码

修改我们Activity HelloGridView如下:

/** *  *  *  */public class HelloGridView extends Activity {    /** Called when the activity is first created. */@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);GridView gridView=(GridView)findViewById(R.id.gridview);gridView.setAdapter(new ImageAdapter(this));//单击GridView元素的响应gridView.setOnItemClickListener(new OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> parent, View view,int position, long id) {//弹出单击的GridView元素的位置Toast.makeText(HelloGridView.this,mThumbIds[position], Toast.LENGTH_SHORT).show();}});}private class ImageAdapter extends BaseAdapter{private Context mContext;public ImageAdapter(Context context) {this.mContext=context;}@Overridepublic int getCount() {return mThumbIds.length;}@Overridepublic Object getItem(int position) {return mThumbIds[position];}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn 0;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {//定义一个ImageView,显示在GridView里ImageView imageView;if(convertView==null){imageView=new ImageView(mContext);imageView.setLayoutParams(new GridView.LayoutParams(85, 85));imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);            imageView.setPadding(8, 8, 8, 8);}else{imageView = (ImageView) convertView;}imageView.setImageResource(mThumbIds[position]);return imageView;}}//展示图片private Integer[] mThumbIds = {            R.drawable.sample_2, R.drawable.sample_3,            R.drawable.sample_4, R.drawable.sample_5,            R.drawable.sample_6, R.drawable.sample_7,            R.drawable.sample_0, R.drawable.sample_1,            R.drawable.sample_2, R.drawable.sample_3,            R.drawable.sample_4, R.drawable.sample_5,            R.drawable.sample_6, R.drawable.sample_7,            R.drawable.sample_0, R.drawable.sample_1,            R.drawable.sample_2, R.drawable.sample_3,            R.drawable.sample_4, R.drawable.sample_5,            R.drawable.sample_6, R.drawable.sample_7    };}

这里我们也是采用的自定义Adapter,可以上一节的自定义Adapter讲解。展示了一些图片,然后点击一个图片的时候会显示这个图片所在的位置。


三、效果图




1 0
原创粉丝点击