Android中GridView上图下字文档格式.docx
- 文档编号:6792888
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:23
- 大小:98.89KB
Android中GridView上图下字文档格式.docx
《Android中GridView上图下字文档格式.docx》由会员分享,可在线阅读,更多相关《Android中GridView上图下字文档格式.docx(23页珍藏版)》请在冰点文库上搜索。
columnWidth="
90dp"
10.
stretchMode="
columnWidth"
11.
gravity="
center"
12.
/>
item.xml
RelativeLayout
wrap_content"
paddingBottom="
4dip"
<
ImageView
@+id/ItemImage"
layout_centerHorizontal="
true"
13.
TextView
14.
@+id/ItemText"
15.
16.
layout_below="
17.
18.
19.
text="
TextView01"
20.
21.<
/RelativeLayout>
activity
Java代码
1.package
com.test;
2.
3.import
java.util.ArrayList;
4.import
java.util.HashMap;
6.import
android.app.Activity;
7.import
android.os.Bundle;
8.import
android.view.View;
9.import
android.widget.AdapterView;
10.import
android.widget.AdapterView.OnItemClickListener;
11.import
android.widget.GridView;
12.import
android.widget.SimpleAdapter;
14.public
class
TestGridView
extends
Activity
{
private
gridview;
public
void
onCreate(Bundle
savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.gridview);
21.
gridview
=
(GridView)
findViewById(R.id.gridview);
22.
23.
//
生成动态数组,并且转入数据
24.
ArrayList<
HashMap<
String,
Object>
lstImageItem
new
();
25.
for
(int
i
0;
10;
i++)
26.
map
27.
map.put("
ItemImage"
R.drawable.icon);
添加图像资源的ID
28.
ItemText"
"
NO."
+
String.valueOf(i));
按序号做ItemText
29.
lstImageItem.add(map);
30.
}
31.
生成适配器的ImageItem
====>
动态数组的元素,两者一一对应
32.
SimpleAdapter
saImageItems
SimpleAdapter(this,
没什么解释
33.
lstImageItem,//
数据来源
34.
R.layout.item,//
night_item的XML实现
35.
动态数组与ImageItem对应的子项
36.
String[]
},
37.
ImageItem的XML文件里面的一个ImageView,两个TextView
ID
38.
int[]
R.id.ItemImage,
R.id.ItemText
});
39.
添加并且显示
40.
gridview.setAdapter(saImageItems);
41.
添加消息处理
42.
gridview.setOnItemClickListener(new
ItemClickListener());
43.
44.
45.
当AdapterView被单击(触摸屏或者键盘),则返回的Item单击事件
46.
ItemClickListener
implements
OnItemClickListener
47.
onItemClick(AdapterView<
arg0,//
The
AdapterView
where
the
click
happened
48.
View
arg1,//
view
within
that
was
clicked
49.
int
arg2,//
position
of
in
adapter
50.
long
arg3//
row
id
item
51.
)
52.
在本例中arg2=arg3
53.
@SuppressWarnings("
unchecked"
54.
(HashMap<
arg0.getItemAtPosition(arg2);
55.
显示所选Item的ItemText
56.
setTitle((String)
item.get("
));
57.
58.
59.}
GridView
xmlns:
android:
13.<
/GridView>
复制代码
gridView的子视图,也就是每一个网格的内容页面布局
RelativeLayout
@+id/relaGrid"
orientation="
vertical"
match_parent"
ImageViewandroid:
@+id/chooseImage"
src="
@drawable/ph1"
85dp"
>
<
/ImageView>
TextViewandroid:
@+id/chooseText"
TextView"
singleLine="
ellipsize="
marquee"
marqueeRepeatLimit="
marquee_forever"
/TextView>
24.<
然后在res/drawable放入9张图片资源
Activity页面代码
1.publicclassWidgetActivityextendsActivity{
OnItemClickListenerocl_gridview=null;
@Override
publicvoidonCreate(BundlesavedInstanceState){
setContentView(R.layout.main);
setTitle("
九宫格布局"
);
GridViewgridview=(GridView)findViewById(R.id.gridview);
gridview.setAdapter(newImageAdapter(this));
13.
gridview.setOnItemClickListener(ocl_gridview);
}
publicvoidbindListener(){
ocl_gridview=newOnItemClickListener(){
publicvoidonItemClick(AdapterView<
parent,Viewv,intposition,longid){
}
};
24.}
继承BaseAdapter的ImageAdapter类代码
1.publicclassImageAdapterextendsBaseAdapter{
privateContextmContext;
3.
publicImageAdapter(Contextc){
mContext=c;
publicintgetCount(){
//TODOAuto-generatedmethodstub
returnmThumbIds.length;
12.
publicViewgetView(intposition,ViewconvertView,ViewGrouparg2){
Viewview=View.inflate(mContext,R.layout.relagrid,null);
RelativeLayoutrl=(RelativeLayout)view.findViewById(R.id.relaGrid);
ImageViewimage=(ImageView)rl.findViewById(R.id.chooseImage);
TextViewtext=(TextView)rl.findViewById(R.id.chooseText);
image.setImageResource(mThumbIds[position]);
text.setText(mTextValues[position]);
returnrl;
//referencestoourimages
privateInteger[]mThumbIds={
R.drawable.ph1,R.drawable.ph2,R.drawable.ph3,
R.drawable.ph4,R.drawable.ph5,R.drawable.ph6,
R.drawable.ph7,R.drawable.ph8,R.drawable.ph9
};
privateString[]mTextValues={
"
Button"
"
EditText"
CheckBox"
Radio"
Spinner"
39.}
下面的讲解更具体一点:
有关gridview的使用和属性很不错
GridView(网格视图)是按照行列的方式来显示内容的,一般用于显示图片,图片等内容,比如实现九宫格图,用GridView是首选,也是最简单的。
主要用于设置Adapter。
GridView常用的XML属性:
属性名称
描述
columnWidth
设置列的宽度。
gravity
设置此组件中的内容在组件中的位置。
可选的值有:
top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical可以多选,用“|”分开。
horizontalSpacing
两列之间的间距。
numColumns
设置列数。
stretchMode
缩放模式。
verticalSpacing
两行之间的间距。
下面有三个例子,第一个是只显示图片的,第二个是显示图片文字的(这里的图片是Android系统自带的图片),第三个是显示自定义的图片文字。
前面两个例子的实现都不是很难,第三个例子的实现有些复杂,学习GridView的时候,就想着能不能自定义自己喜欢的图片加上文字,在网上找些资料,一般都是第二个例子的形式的,最后在视频学习上找到了能实现自定义自己的图片的例子。
自己就照着例子去学习,修改成了第三个例子。
第一个例子:
MainActivity.java
packagecom.android.gridview.activity;
importandroid.app.Activity;
importandroid.content.Context;
importandroid.os.Bundle;
importandroid.view.View;
importandroid.view.ViewGroup;
importandroid.widget.AdapterView;
importandroid.widget.AdapterView.OnItemClickListener;
importandroid.widget.BaseAdapter;
importandroid.widget.GridView;
importandroid.widget.ImageView;
importandroid.widget.Toast;
publicclassMainActivityextendsActivity{
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
GridViewgv=(GridView)findViewById(R.id.GridView1);
//为GridView设置适配器
gv.setAdapter(newMyAdapter(this));
//注册监听事件
gv.setOnItemClickListener(newOnItemClickListener()
{
publicvoidonItemClick(AdapterView<
parent,Viewv,intposition,longid)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android GridView 上图