Android GridView的使用


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

首先寫一個類繼承BaseAdapter

1. Java代碼     

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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;
     }
 
}

2. Java代碼     悅德財富:https://www.yuedecaifu.com

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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();
             }
         });
     }
}

3. XML代碼     

 
1
2
3
4
5
6
7
8
9
10
11
12
<? 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"
/>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM