您的位置:首页 > 移动开发 > Android开发

Android GridView控件 使用

2012-07-22 13:45 375 查看
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
/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: