前言

关键字: android.widget.GridView

本章翻译来自0_1 ,版本为2.2 r1,这是翻译组成员至今翻译得最好最用心的一篇,除了章节的基本翻译外,附加了完善的截图和代码,再次感谢0_1为大家带来优质的翻译稿。期待你一起参与Android API 的中文翻译行动,联系我over140@gmail.com。

声明

欢迎转载,但请保留文章原始出处:)

博客园:http://www.cnblogs.com

正文

一、结构

public final class GridView extendsAbsListView

java.lang.Object

android.view.View

android.view.ViewGroup

android.widget.AdapterView

android.widget.AbsListView

android.widget.GridView

二、类概述

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

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

三、构造函数

public GridView (Context context)

创建一个默认属性的GridView实例

public GridView (Context context, AttributeSet attrs)

创建一个带有attrs属性的GridView实例

public GridView (Context context, AttributeSet attrs, int defStyle)

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

四、XML属性属性名称

描述

android:columnWidth

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

android:gravity

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

android:horizontalSpacing

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

android:numColumns

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

android:stretchMode

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

android:verticalSpacing

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

五、公共方法

public ListAdapter getAdapter ()

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

返回值

ListAdapter适配器实例

public int getStretchMode ()

获得GridView的缩放模式..

public boolean onKeyDown (int keyCode, KeyEvent event)

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

参数

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

event表示按钮事件的对象.

返回值

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

public boolean onKeyMultiple (int keyCode, int repeatCount, KeyEvent event)

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

参数

keyCode键值.

repeatCount 该动作发生的次数.

event 事件对象.

返回值

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

public boolean onKeyUp (int keyCode, KeyEvent event)

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

参数

keyCode键值.

event事件对象.

返回值

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

public void setAdapter (ListAdapter adapter)

设置GridView的数据。

参数

adapter为grid提供数据的适配器

public void setColumnWidth (int columnWidth)

设置GridView的列宽.

参数

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

public void setGravity (int gravity)

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

参数

gravity位置值

public void setHorizontalSpacing (int horizontalSpacing)

设置列间距.

参数

horizontalSpacing列间距值

public void setNumColumns (int numColumns)

设置grid的列数

参数

numColumns 列数值.

public void setSelection (int position)

设置选中的条目.

参数

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

public void setStretchMode (int stretchMode)

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

参数

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

public void setVerticalSpacing (int verticalSpacing)

设置行间距.

参数      verticalSpacing间距值,以像素为单位

六、代码示例

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

a).  GridView01.java

publicclassGridView01extendsActivity {privateGridView gridview;

@OverrideprotectedvoidonCreate(Bundle savedInstanceState) {//TODO Auto-generated method stubsuper.onCreate(savedInstanceState);

setContentView(R.layout.gridview);//准备要添加的数据条目List>items=newArrayList>();for(inti=0; i<10; i++) {

Mapitem=newHashMap();

item.put("imageItem", R.drawable.icon);

item.put("textItem","text"+i);

items.add(item);

}//实例化一个适配器SimpleAdapter adapter=newSimpleAdapter(this, items, R.layout.grid_item,newString[]{"imageItem","textItem"},newint[]{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);

}

}

b).  gridview.xml

c).  grid_item.xml

android 用gridview,Android GridView的使用相关推荐

  1. Android UI Button 和GridView 的设计--优化(2)

    Android 按钮的UI设计,ListView 以及GridView的UI设计 一.按钮的状态 我们一般搞UI设计,按钮通常有三个状态:normal(正常状态);focus(焦点状态),presse ...

  2. php gridview,GridView - [ Android中文手册 ] - 在线原生手册 - php中文网

    GridView 版本:Android 2.2 r1 public final class GridView extendsAbsListView java.lang.Object android.v ...

  3. Android中给listview/gridview设置动画(逐条加载条目动画)

    先看实现的效果如下: 演示效果如上:    上面的列表是GridView 要给这个GridView添加一个动画,才可以逐个加载.网上找了大量资料,不少人说用多线程加载,通过SetAdapter设置数据 ...

  4. Android PullToRefresh (ListView GridView 下拉刷新) 使用详解

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/38238749,本文出自:[张鸿洋的博客] 群里一哥们今天聊天偶然提到这个git ...

  5. android行高,android – GridView的行高

    如何使行高适合GridView中最高的项目? 因为默认情况下它是失败的. 更新: 这里是网格布局 android:layout_width="fill_parent" androi ...

  6. Android开发:自定义GridView/ListView数据源

    http://mobile.51cto.com/android-259861.htm 在开发中,我们常常会遇到比较复杂的GridView/ListView的布局,重新实现BaseAdapter不但能帮 ...

  7. Android成长日记-使用GridView显示多行数据

    本节将实现以下效果 Ps:看起来很不错的样子吧,而且很像九宫格/se ----------------------------------------------------------------- ...

  8. Android开发学习笔记-GridView的动态显示

    1.添加GridItem布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...

  9. android中自适应布局教程,Android实现自适应正方形GridView

    现在在Android应用中,GridView中每个Item都是正方形的场景越来越常见.比如 陌陌 的搜索结果界面 陌陌的搜索界面显示 Android手机和IPhone不同, IPhone硬件是苹果自己 ...

  10. Android开发之使用GridView+仿微信图片上传功能(附源代码)

    前言:如果转载文章请声明转载自:https://i.cnblogs.com/EditPosts.aspx?postid=7419021  .另外针对有些网站转载本人的文章结果源码链接不对的问题,本人在 ...

最新文章

  1. 这样你的电脑还不玩完!?
  2. ubuntu 14.04 LTS 右键菜单解压压缩包时出错
  3. html引入php文件中的函数,在b2core框架和simple_html_dom.php文件里面都有一个load()函数...
  4. WinPcap捕获数据包
  5. 2017南宁现场赛E 存档
  6. java system.gc不会立即执行_(转)调用System.gc没有立即执行的解决方法
  7. ps4插html屏幕不亮光,ps4连接显示器怎么老是黑屏
  8. pr录制自己声音杂音很重
  9. 电脑眼病和干眼症的相关知识
  10. 服务器防火墙有哪些功能和作用?
  11. 我的世界rpg服务器背包位置,我的世界查看玩家背包方法 如何查看玩家背包
  12. SpringBoot系列之(三):启动过程
  13. 摄影-曝光口诀(阳光16法则)
  14. IDA使用手册_(1)
  15. 查询跟踪快递物流,筛选因拒收退回的单号
  16. python中整数的长度_Python中正整数的位长度
  17. Runtime Error(ACCESS_VIOLATION)常见解决方法
  18. K_A08_009 基于 STM32等单片机驱动TB6612模块按键控制直流电机正反转加减速启停
  19. 「汇编」加深理解段地址*10H(*16)必须是16的倍数
  20. 新高考全走班(4选2、6选3、7选3)陈老师排课原理及方案

热门文章

  1. QGIS教程01:为什么要用QGIS?
  2. android局域网怎么传文件,两手机同一局域网怎么传文件
  3. Vivado中异步FIFO IP核的使用与思考
  4. ZZULIOJ1041-1045Python解法
  5. linux抓取snmp trap告警命令,linux snmptrap的发送与接收
  6. android汉字转拼音
  7. office2016 Excel每次打开都需要配置的问题解决
  8. 图书管理系统(Java实现,十个数据表,含源码、ER图,超详细报告解释,2020.7.11更新)...
  9. 萤火微信小程序商城(YoShop)PHP程序
  10. textview 属性大全