Android系列教程之GridView组件的使用

来源:互联网 发布:vb表格控制使用 编辑:程序博客网 时间:2024/06/07 01:36

GridView是一个网络布局的视图,他能让你的元素显示在一个个的格子里。我们的桌面就是一个GridView。。

1、新建一个gridview工程,activity_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是意味着根据列宽自动缩放。

2、修改MainActivity.java代码如下:

package com.example.gridview;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ImageView;import android.widget.Toast;public class MainActivity extends Activity {//展示图片private Integer[] mThumbIds = {R.drawable.a,R.drawable.b,R.drawable.c,R.drawable.d,R.drawable.e,R.drawable.ic_launcher,R.drawable.music,R.drawable.video,R.drawable.photo};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_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(MainActivity.this, mThumbIds[position], Toast.LENGTH_LONG).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 arg0) {// TODO 自动生成的方法存根return 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;}}}

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

3、运行程序,效果图如下:


1 0
原创粉丝点击