`
yidongkaifa
  • 浏览: 4064773 次
文章分类
社区版块
存档分类
最新评论

android Gridview中文API

 
阅读更多

 转自:农民伯伯

一、结构

    public final classGridViewextendsAbsListView

    java.lang.Object
      android.view.View
        android.view.ViewGroup
          android.widget.AdapterView<T extends android.widget.Adapter>
            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

设置此组件中的内容在组件中的位置。可选的值有:topbottomleftrightcenter_verticalfill_verticalcenter_horizontalfill_horizontalcenterfillclip_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_CENTERKEYCODE_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_CENTERKEYCODE_ENTER值是执行的是点击视图操作。

参数

keyCode键值.

event事件对象.

返回值

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

public void setAdapter (ListAdapter adapter)

设置GridView的数据。

参数

adaptergrid提供数据的适配器

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_STRETCHSTRETCH_SPACINGSTRETCH_SPACING_UNIFORM,或STRETCH_COLUMN_WIDTH

public void setVerticalSpacing (int verticalSpacing)

设置行间距.

  参数

      verticalSpacing间距值,以像素为单位

  六、代码示例

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

    

    a).  GridView01.java

复制代码
publicclassGridView01extendsActivity{
privateGridViewgridview;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
//TODOAuto-generatedmethodstub
super.onCreate(savedInstanceState);
setContentView(R.layout.gridview);

//准备要添加的数据条目
List<Map<String,Object>>items=newArrayList<Map<String,Object>>();
for(inti=0;i<10;i++){
Map
<String,Object>item=newHashMap<String,Object>();
item.put(
"imageItem",R.drawable.icon);
item.put(
"textItem","text"+i);
items.add(item);
}
//实例化一个适配器
SimpleAdapteradapter=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

复制代码
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width
="wrap_content"
android:layout_height
="wrap_content">
<GridViewandroid:id="@+id/mygridview"
android:numColumns
="3"
android:gravity
="center_horizontal"
android:layout_width
="wrap_content"
android:layout_height
="wrap_content">
</GridView>
</LinearLayout>
复制代码

    c).  grid_item.xml

复制代码
<?xmlversion="1.0"encoding="utf-8"?>
<RelativeLayoutandroid:id="@+id/RelativeLayout01"
android:layout_width
="fill_parent"android:layout_height="fill_parent"
xmlns:android
="http://schemas.android.com/apk/res/android">
<ImageViewandroid:id="@+id/image_item"
android:layout_width
="wrap_content"
android:layout_height
="wrap_content">
</ImageView>
<TextViewandroid:id="@+id/text_item"
android:layout_below
="@+id/image_item"
android:layout_height
="wrap_content"
android:layout_width
="wrap_content">
</TextView>
</RelativeLayout>
复制代码
分享到:
评论

相关推荐

    android Gridview 异步加载网络图片

    一个非常好的 android gridview 异步加载图片的例子,需要17以上的api

    Android_API_中文GridView.doc

    Android_API_中文GridView

    Android_API_中文_(15)_——_GridView.doc

    Android_API_中文_(15)_——_GridView.doc Android_API_中文_(15)_——_GridView.doc

    Android API 中文(15) —— GridView

    Android2.2 r1 API 中文文档,注意这里只有ViewStub的,请关注http://over140.cnblogs.com/的更新。期待大家一起参与!我的邮箱over140@gmail.com。

    Android GridView添加头部问题的解决

    geogle官方给出了重写的HeaderGridView不知道为什么没有添加到官方api里面。代码如下: public class HeaderGridView extends GridView { private static final String TAG = HeaderGridView; /** * A class

    Android2.2 API中文文档

    Android2.2 API中文文档 (1) —— TextView (2) —— EditText (3) —— AccessibilityService (4) —— Manifest (5) —— View (6) —— ImageView (7) —— ImageButton (8) —— ...

    Android API 中文 文档

    超级好用的android帮助文档 2010年10月19日 ... 前言. 关键字: android.widget.GridView 本章翻译来自0_1 ,版本为2.2 r1,这是翻译 组成员至今翻译得最好最用心的一篇,除了章节的基本翻译外,

    Android帮助文档及一些资料打包放送

    Android 3.0 r1 API中文文档(113) ——SlidingDrawer .html116.92 KB Android 3.1 r1 中文API文档 (120) —— SearchView .html91.16 KB Android 3.1 r1 中文API文档 (121) —— ResourceCursorTreeAdapter ....

    Android的ListView/GridView的开源组件

    源码smoothie,smoothie是一个开源的组件,提供了简单的API异步加载Android ListView/GridView的项目,以和UI线程分离。Smoothie是手势识别:在Fling手势时,它会必须发起加载项目请求;在滑动列表时,当你的手指按...

    Android GridView实现滚动到指定位置的方法

    今天研究了一下怎么保存浏览位置,发现GridView和它的父类中有4个相关的方法: 代码如下: public void smoothScrollToPosition (int position) 滚动到position指定的位置,api level 11之下可用 *当你滚动完后,...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    4.18 动态文字排版——GridView与ArrayAdapter设计 4.19 在Activity里显示列表列表——ListView的布局 4.20 以动态列表配置选项——ListActivity与Menu整合技巧 4.21 查找程序根目录下所有文件——JavaI/O与...

    smoothie, Android listview/gridview的[DEPRECATED] 轻松异步加载.zip

    smoothie, Android listview/gridview的[DEPRECATED] 轻松异步加载 注:smoothie的API还不是最终的。 虽然库是相当funcional的,但仍然是beta质量代码。 不要仅仅依赖于生产代码。 欢迎使用反馈 !是什么?Smoothie...

    PopularMovies:Android应用程序,该应用程序在GridView中列出流行电影并在选择电影海报时显示电影详细信息

    热门电影在GridView中列出流行电影并选择电影海报时显示电影详细信息的Android应用。 该项目是Udacity Android Nanodegree的一部分。 为了使用此应用程序,您需要具有themoviedb.org自己的api密钥。 可以在...

    精通ANDROID 3(中文版)1/2

    6.4.2 GridView控件  6.4.3 Spinner控件  6.4.4 Gallery控件  6.4.5 创建自定义适配器  6.4.6 Android中的其他控件  6.5 样式和主题  6.5.1 使用样式  6.5.2 使用主题  6.6 布局管理器  6.6.1 ...

    android开发入门与实战(下)

    3.3.1 开发的基石——AndroidAPI核心开发包介绍 3.3.2 拓展开发外延——Android可选API介绍 3.4 本章小结 第4章 赚钱的市场——AndroidMarket及应用发布 4.1 GoogleMarket产生背景与目的 4.2 体验“选货”的乐趣...

    Android入门到精通源代码.

    12.4.2 Android GTalk API简介 12.4.3 为GTalk配置Android模拟器 12.5 应用实例详解:Google GTalk 程序 12.5.1 实例分析 12.5.2 实例实现 第13章 Android综合案例开发:俄罗斯方块 13.1 俄罗斯方块游戏功能需求 ...

    Android开发案例驱动教程 配套代码

    3.3.1 Android SDK API文档 23 3.3.2 Android SDK开发指南 24 3.3.3 Android SDK samples 24 3.4 使用DDMS帮助调试程序 26 3.4.1 启动DDMS 26 3.4.2 Device 28 3.4.3 Emulator Control 29 3.4.4 File ...

    android开发资料大全

    android用户界面之GridView教程实例汇总 android用户界面之SurfaceView教程实例汇总 android用户界面之Notification教程实例汇总 android用户界面之TextView教程实例汇总 android用户界面之ScrollView教程实例汇总 ...

    《Google Android开发入门与实战》.pdf

    3.3.1 开发的基石——android api核心开发包介绍 33 3.3.2 拓展开发外延——android可选api介绍 34 3.4 本章小结 34 第4章 赚钱的市场——android market及应用发布 35 4.1 google market产生背景与...

    android开发入门与实战(上)

    3.3.1 开发的基石——AndroidAPI核心开发包介绍 3.3.2 拓展开发外延——Android可选API介绍 3.4 本章小结 第4章 赚钱的市场——AndroidMarket及应用发布 4.1 GoogleMarket产生背景与目的 4.2 体验“选货”的乐趣...

Global site tag (gtag.js) - Google Analytics