Android的GradView接口组件的详细使用方法

GradView组件可以将手机屏幕划分成很多个格子,每个格子都可以显示一张略缩图。最常见的创建GradeView需要自行建立一个GradView的图片适配器ImageAdapter,让后将这个图片适配器与GradeView进行绑定。至于ImageAdapter就是负责做出每一张图像缩图供GradView使用。这个过程是由Android系统自行调用的,而不是我们用程序代码调用的。

下面是具体的程序解释:
step1:首先在xml文件中新建一个布局文件,我这里是layoutnew.xml
<FrameLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    xmlns:android=" http://schemas.android.com/apk/res/android">
    <GridView   android:id="@+id/mygradview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:columnWidth="80dp"
android:gravity="center"
        ></GridView>
</FrameLayout>

step2:创建ImageAdapter类(自己定义的类,名字自己取)集成BaseAdapter类,并实现getView(),  getCount(),  getItem(), getItemID()等方法
package com.example.myalertdialog;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.GridView;
public class ImageAdapter extends BaseAdapter {
 private Context context; //定义适配器的上下文
 private Integer[] imageArray;
 public ImageAdapter(Context context){ //定义构造函数
  this.context = context;
 }
 public void setImageArray(Integer[] imageArray){  //设置资源图片id数组,注意这里不能用int[],必须要用Integer[]
  this.imageArray = imageArray;
 }
 @Override
 public int getCount() {
  return imageArray.length;
 }
 @Override
 public Object getItem(int position) {
  return position;
 }
 @Override
 public long getItemId(int position) {
  return position;
 }
 @Override
 public View getView(int position, View view, ViewGroup group) {
  //负责将指定的图像缩略图放到ImageView中去,然后提供给GirdView使用
  ImageView v = null;
  if(view == null){
   v = new ImageView(context);
   v.setLayoutParams(new GridView.LayoutParams(90,90));
   v.setPadding(5, 5, 5, 5);
   v.setScaleType(ImageView.ScaleType.CENTER);
  }
  else
   v = (ImageView)view;
  v.setImageResource(imageArray[position]);
  return v;
 }
}
step3:主程序代码,创建gridView对象和ImageAdapter对象,并给gridview和imageadapter绑定
package com.example.myalertdialog;
import android.app.Activity;
import android.os.Bundle;
import android.widget.GridView;
public class GradViewActivity extends Activity {
 private GridView myGridView = null;
 private Integer[] imageArr = {R.drawable.ic_launcher,R.drawable.image1,R.drawable.image2,R.drawable.image3};
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.newlayout);
  myGridView = (GridView)this.findViewById(R.id.mygradview);
  ImageAdapter myImageAdapter = new ImageAdapter(this);  //创建自己的图片适配器
myImageAdapter.setImageArray(imageArr);//设置适配器的图片资源
  myGridView.setAdapter(myImageAdapter); //设置gridView的适配器
 }
}
Android的GradView接口组件的详细使用方法_第1张图片

你可能感兴趣的:(android,gradview,ImageAdapter)