Android中文API之GridView

 

本文是介绍了Android API中文文档中的GridView,主要是从GridView的构造函数、GridView的XML属性以及GridView的公共方法几方面来介绍,原文来自博客园,希望对大家有所帮助,原文如下:

一、Android API结构

1
2
3
4
5
6
7
publicfinalclassGridViewextendsAbsListView  
java.lang.Object  
android.view.View  
android.view.ViewGroup  
android.widget.AdapterView  
android.widget.AbsListView  
android.widget.GridView

二、Android API类概述

Android API中一个在平面上可显示多个条目的可滚动的视图组件,该组件中的条目通过一个ListAdapter和该组件进行关联。比如android手机中显示的应用:

比如实现九宫格图,用GridView是首选,也是最简单的。

三、Android API构造函数

1
public GridView(Contextcontext)
创建一个默认属性的GridView实例
1
public GridView(Contextcontext,AttributeSetattrs)
创建一个带有attrs属性的GridView实例
1
public GridView (Contextcontext,AttributeSetattrs,intdefStyle)

创建一个带有attrs属性,并且指定其默认样式的GridView实例

四、Android API中XML属性

属性名称描述

android:columnWidth设置列的宽度。关联的方法为:setColumnWidth(int)

android:gravity设置此组件中的内容在组件中的位置。可选的值有:top、bottom、left、right、 center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、 fill、clip_vertical可以多选,用“|”分开。关联方法:setGravity(intgravity)

android:horizontalSpacing两列之间的间距。关联方法:setHorizontalSpacing(int)

android:numColumns列数。关联方法:setNumColumns(int)

android:stretchMode缩放模式。关联方法:setStretchMode(int)

android:verticalSpacing两行之间的间距。关联方法:setVerticalSpacing(int)

五、Android API公共方法

1
public ListAdapter getAdapter()

获得与此组件相关的适配器..

返回值

ListAdapter适配器实例

publicintgetStretchMode()

获得GridView的缩放模式..

1
public boolean onKeyDown (intkeyCode,KeyEventevent)

默认由KeyEvent.Callback.onKeyMultiple()实现,如果视图是可用的并且是可点击的,那么传入KEYCODE_DPAD_CENTER或KEYCODE_ENTER值是执行的是按下视图操作。

参数

keyCode一个表示按下操作的键值.

event表示按钮事件的对象.

返回值

如果你认为已经完成事件处理,不想让让下一个处理器来处理此事件,则返回true,否则返回false。

1
public boolean onKeyMultiple(intkeyCode,intrepeatCount,KeyEventevent)

默认由KeyEvent.Callback.onKeyMultiple()实现,总是返回false(不处理此事件)。

参数

keyCode键值.

repeatCount该动作发生的次数.

event事件对象.

返回值

如果你认为已经完成事件处理,不想让让下一个处理器来处理此事件,则返回true,否则返回false。

1
public boolean onKeyUp(intkeyCode,KeyEventevent)

默认由KeyEvent.Callback.onKeyMultiple()实现,如果视图是可用的并且是可点击的,那么传入KEYCODE_DPAD_CENTER或KEYCODE_ENTER值是执行的是点击视图操作。

参数

keyCode键值.

event事件对象.

返回值

如果你认为已经完成事件处理,不想让让下一个处理器来处理此事件,则返回true,否则返回false。

1
public void setAdapter (ListAdapteradapter)

设置GridView的数据。

参数

adapter为grid提供数据的适配器

1
public void setColumnWidth(intcolumnWidth)

设置GridView的列宽.

参数

columnWidth列的宽度,以像素为单位

publicvoidsetGravity(intgravity)

设置控件内容的位置,默认值为:Gravity.LEFT.

参数

gravity位置值

1
public void setHorizontalSpacing( int horizontalSpacing)

设置列间距.

参数

horizontalSpacing列间距值

1
public void setNumColumns( int numColumns)

设置grid的列数

参数

numColumns列数值.

1
public void setSelection ( int position)

设置选中的条目.

参数

position.数据条目在列表中的索引值(从0开始),如果在可触摸的模式下,在该索引值下的条目将不会被选中,但是该索引值仍然指向该条目。

1
public void setStretchMode( int stretchMode)

设置grid中的条目以什么缩放模式去填充空间。.

参数

stretchMode可选值:NO_STRETCH,STRETCH_SPACING,STRETCH_SPACING_UNIFORM,或STRETCH_COLUMN_WIDTH

1
public void setVerticalSpacing( int verticalSpacing)

设置行间距.

参数

verticalSpacing间距值,以像素为单位

六、Android API代码示例

下面给出一个小例子,先看效果:

1、GridView01.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
public class GridView01 extends Activity {  
     private GridView gridview;  
     @Override  
     protected void onCreate(Bundle savedInstanceState) {  
         // TODO Auto-generated method stub  
         super .onCreate(savedInstanceState);  
         setContentView(R.layout.gridview);  
            
//准备要添加的数据条目  
         List<Map<String, Object>> items = new ArrayList<Map<String,Object>>();  
         for ( int i = 0 ; i < 10 ; i++) {  
             Map<String, Object> item = new HashMap<String, Object>();  
             item.put( "imageItem" , R.drawable.icon);  
             item.put( "textItem" , "text" + i);  
             items.add(item);  
         }  
//实例化一个适配器  
         SimpleAdapter adapter = new SimpleAdapter( this , items, R.layout.grid_item, 
             new String[]{ "imageItem" , "textItem" }, new int []{R.id.image_item, R.id.text_item});  
         //获得GridView实例  
         gridview = (GridView)findViewById(R.id.mygridview);  
         //gridview.setNumColumns(3);//可以在xml中设置  
         //gridview.setGravity(Gravity.CENTER);//同上  
//将GridView和数据适配器关联  
         gridview.setAdapter(adapter);  
     }  
}
2、gridview.xml
1
2
3
4
5
6
7
8
9
10
11
<? xml version = "1.0" encoding = "utf-8" ?> 
< LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android" 
     android:layout_width = "wrap_content" 
     android:layout_height = "wrap_content"
     < GridView android:id = "@+id/mygridview" 
         android:numColumns = "3" 
         android:gravity = "center_horizontal" 
         android:layout_width = "wrap_content" 
         android:layout_height = "wrap_content"
     </ GridView
</ LinearLayout >
3、grid_item.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<? xml version = "1.0" encoding = "utf-8" ?> 
< RelativeLayout android:id = "@+id/RelativeLayout01" 
     android:layout_width = "fill_parent" android:layout_height = "fill_parent" 
     xmlns:android = "http://schemas.android.com/apk/res/android"
     < ImageView android:id = "@+id/image_item" 
         android:layout_width = "wrap_content" 
         android:layout_height = "wrap_content"
     </ ImageView
     < TextView android:id = "@+id/text_item" 
         android:layout_below = "@+id/image_item" 
         android:layout_height = "wrap_content" 
         android:layout_width = "wrap_content"
     </ TextView
</ RelativeLayout >
好了,到这里我们就把Android中GridView的API文档介绍完了,相信你已经理解了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值