GridView就是先将控件横向显示,然后纵向显示
效果如上所示
先看一下GridView的布局文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
GridView
xmlns:android
=
"http://schemas.android.com/apk/res/android"
android:id
=
"@+id/brainheroall"
android:background
=
"#FFeff1ef"
android:layout_width
=
"fill_parent"
android:layout_height
=
"wrap_content"
android:numColumns
=
"auto_fit"
android:verticalSpacing
=
"10dp"
android:horizontalSpacing
=
"10dp"
android:columnWidth
=
"90dp"
android:stretchMode
=
"columnWidth"
android:gravity
=
"center"
/>
|
这是如何显示GridView,下面的xml文件是GridView里面如何显示
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
RelativeLayout
xmlns:android
=
"http://schemas.android.com/apk/res/android"
android:layout_height
=
"wrap_content"
android:paddingBottom
=
"4dip"
android:layout_width
=
"fill_parent"
>
<
ImageView
android:layout_height
=
"wrap_content"
android:id
=
"@+id/ItemImage"
android:layout_width
=
"wrap_content"
android:layout_centerHorizontal
=
"true"
>
</
ImageView
>
<
TextView
android:layout_width
=
"wrap_content"
android:layout_below
=
"@+id/ItemImage"
android:layout_height
=
"wrap_content"
android:text
=
""
android:textColor
=
"#FF000000"
android:layout_centerHorizontal
=
"true"
android:id
=
"@+id/ItemText"
>
</
TextView
>
</
RelativeLayout
>
|
下面是Java代码如何使用GridView
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
|
package
view;
import
java.util.ArrayList;
import
java.util.HashMap;
import
model.HeroSimpleInfo;
import
service.ObtainInfo;
import
android.app.Activity;
import
android.content.Intent;
import
android.os.Bundle;
import
android.view.KeyEvent;
import
android.view.View;
import
android.widget.AdapterView;
import
android.widget.AdapterView.OnItemClickListener;
import
android.widget.GridView;
import
android.widget.SimpleAdapter;
import
android.widget.Toast;
import
com.zhychneg.dota.R;
public
class
BrainHeroActivity
extends
Activity
implements
OnItemClickListener{
GridView gv=
null
;
long
exitTime=
0
;
HeroSimpleInfo []heros=
null
;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super
.onCreate(savedInstanceState);
setContentView(R.layout.brainheroall);
gv=(GridView) findViewById(R.id.brainheroall);
ArrayList<HashMap<String,Object>> al=
new
ArrayList<HashMap<String,Object>>();
heros=ObtainInfo.getBrainHeroSimpleInfo();
for
(
int
i=
0
;i<heros.length;i++)
{
HashMap<String, Object> map =
new
HashMap<String, Object>();
map.put(
"icon"
, heros[i].getRes());
//添加图像资源的ID
map.put(
"name"
, heros[i].getName());
//按序号做ItemText
al.add(map);
}
SimpleAdapter sa=
new
SimpleAdapter(
this
,al,R.layout.gridview_layout,
new
String[]{
"icon"
,
"name"
},
new
int
[]{R.id.ItemImage,R.id.ItemText});
gv.setAdapter(sa);
gv.setOnItemClickListener(
this
);
}
public
void
onItemClick(AdapterView<?> parent, View view,
int
position,
long
id) {
Intent intent =
new
Intent(
this
,AboutHeroActivty.
class
);
intent.putExtra(
"HERO"
, heros[position]);
this
.startActivity(intent);
}
}
|