Android GridView的使用

fmms 12年前發布 | 27K 次閱讀 Android Android開發 移動開發

Android的GridView控件用于把一系列的空間組織成一個二維的網格顯示出來應用的比較多的就是組合圖片顯示下面我就詳細講一個例子

首先寫一個類繼承BaseAdapter

package com.yarin.android.Examples_04_19;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;

public class ImageAdapter extends BaseAdapter
{
    // 定義Context
    private Context     mContext;
    // 定義整型數組 即圖片源
    private Integer[]   mImageIds   = 
    { 
            R.drawable.img1, 
            R.drawable.img2, 
            R.drawable.img3, 
            R.drawable.img4, 
            R.drawable.img5, 
            R.drawable.img6, 
            R.drawable.img7,
            R.drawable.img8, 
            R.drawable.img1, 
    };

    public ImageAdapter(Context c)
    {
        mContext = c;
    }

    // 獲取圖片的個數
    public int getCount()
    {
        return mImageIds.length;
    }

    // 獲取圖片在庫中的位置
    public Object getItem(int position)
    {
        return position;
    }


    // 獲取圖片ID
    public long getItemId(int position)
    {
        return position;
    }


    public View getView(int position, View convertView, ViewGroup parent)
    {
        ImageView imageView;
        if (convertView == null)
        {
            // 給ImageView設置資源
            imageView = new ImageView(mContext);
            // 設置布局 圖片120×120顯示
            imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
            // 設置顯示比例類型
            imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
        }
        else
        {
            imageView = (ImageView) convertView;
        }

        imageView.setImageResource(mImageIds[position]);
        return imageView;
    }

}
package com.yarin.android.Examples_04_19;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class Activity01 extends Activity
{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        //取得GridView對象
        GridView gridview = (GridView) findViewById(R.id.gridview);
        //添加元素給gridview
        gridview.setAdapter(new ImageAdapter(this));

        // 設置Gallery的背景
        gridview.setBackgroundResource(R.drawable.bg0);

        //事件監聽
        gridview.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View v, int position, long id)
            {
                Toast.makeText(Activity01.this, "你選擇了" + (position + 1) + " 號圖片", Toast.LENGTH_SHORT).show();
            }
        });
    }
}
<?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:numColumns="auto_fit"
    android:verticalSpacing="10dp"
    android:horizontalSpacing="10dp"
    android:columnWidth="90dp"
    android:stretchMode="columnWidth"
    android:gravity="center"
/>

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!