Android(安卓)GridView控件 使用
16lz
2021-01-26
Android的GridView控件用于把一系列的空间组织成一个二维的网格显示出来应用的比较多的就是组合图片显示下面我就详细讲一个例子
首先写一个类继承BaseAdapt
代码片段(3)
[代码][Java]代码
01 | package com.yarin.android.Examples_04_19; |
02 |
03 | import android.content.Context; |
04 | import android.view.View; |
05 | import android.view.ViewGroup; |
06 | import android.widget.BaseAdapter; |
07 | import android.widget.GridView; |
08 | import android.widget.ImageView; |
09 |
10 | public class ImageAdapter extends BaseAdapter |
11 | { |
12 |
// 定义Context |
13 |
private Context mContext; |
14 |
// 定义整型数组 即图片源 |
15 |
private Integer[] mImageIds = |
16 |
{ |
17 |
R.drawable.img1, |
18 |
R.drawable.img2, |
19 |
R.drawable.img3, |
20 |
R.drawable.img4, |
21 |
R.drawable.img5, |
22 |
R.drawable.img6, |
23 |
R.drawable.img7, |
24 |
R.drawable.img8, |
25 |
R.drawable.img1, |
26 |
}; |
27 |
28 |
public ImageAdapter(Context c) |
29 |
{ |
30 |
mContext = c; |
31 |
} |
32 |
33 |
// 获取图片的个数 |
34 |
public int getCount() |
35 |
{ |
36 |
return mImageIds.length; |
37 |
} |
38 |
39 |
// 获取图片在库中的位置 |
40 |
public Object getItem( int position) |
41 |
{ |
42 |
return position; |
43 |
} |
44 |
45 |
46 |
// 获取图片ID |
47 |
public long getItemId( int position) |
48 |
{ |
49 |
return position; |
50 |
} |
51 |
52 |
53 |
public View getView( int position, View convertView, ViewGroup parent) |
54 |
{ |
55 |
ImageView imageView; |
56 |
if (convertView == null ) |
57 |
{ |
58 |
// 给ImageView设置资源 |
59 |
imageView = new ImageView(mContext); |
60 |
// 设置布局 图片120×120显示 |
61 |
imageView.setLayoutParams( new GridView.LayoutParams( 85 , 85 )); |
62 |
// 设置显示比例类型 |
63 |
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); |
64 |
} |
65 |
else |
66 |
{ |
67 |
imageView = (ImageView) convertView; |
68 |
} |
69 |
70 |
imageView.setImageResource(mImageIds[position]); |
71 |
return imageView; |
72 |
} |
73 |
74 | } |
[代码][Java]代码
01 | package com.yarin.android.Examples_04_19; |
02 |
03 | import android.app.Activity; |
04 | import android.os.Bundle; |
05 | import android.view.View; |
06 | import android.widget.AdapterView; |
07 | import android.widget.GridView; |
08 | import android.widget.Toast; |
09 | import android.widget.AdapterView.OnItemClickListener; |
10 |
11 | public class Activity01 extends Activity |
12 | { |
13 |
/** Called when the activity is first created. */ |
14 |
@Override |
15 |
public void onCreate(Bundle savedInstanceState) |
16 |
{ |
17 |
super .onCreate(savedInstanceState); |
18 |
setContentView(R.layout.main); |
19 |
20 |
//取得GridView对象 |
21 |
GridView gridview = (GridView) findViewById(R.id.gridview); |
22 |
//添加元素给gridview |
23 |
gridview.setAdapter( new ImageAdapter( this )); |
24 |
25 |
// 设置Gallery的背景 |
26 |
gridview.setBackgroundResource(R.drawable.bg0); |
27 |
28 |
//事件监听 |
29 |
gridview.setOnItemClickListener( new OnItemClickListener() { |
30 |
public void onItemClick(AdapterView<?> parent, View v, int position, long id) |
31 |
{ |
32 |
Toast.makeText(Activity01. this , "你选择了" + (position + 1 ) + " 号图片" , Toast.LENGTH_SHORT).show(); |
33 |
} |
34 |
}); |
35 |
} |
36 | } |
[代码][XML]代码
view source print ?01 | <? xml version = "1.0" encoding = "utf-8" ?> |
02 | < GridView xmlns:android = "http://schemas.android.com/apk/res/android" |
03 |
android:id = "@+id/gridview" |
04 |
android:layout_width = "fill_parent" |
05 |
android:layout_height = "fill_parent" |
06 |
android:numColumns = "auto_fit" |
07 |
android:verticalSpacing = "10dp" |
08 |
android:horizontalSpacing = "10dp" |
09 |
android:columnWidth = "90dp" |
10 |
android:stretchMode = "columnWidth" |
11 |
android:gravity = "center" |
12 | /> |
更多相关文章
- Android资料(书籍+代码)
- android中,显示圆形图片
- 完美PopupWindow(记住用户名模拟)
- android无线内网打印机打印出图片
- button,imagebutton背景设置透明或者半透明
- android Tween Animations(动画效果-代码实现)的使用
- Android获取手机屏幕宽高、状态栏高度以及字符串宽高信息的方法
- [置顶] android 框架
- 自定义widgt and inflater