`

Android入门第八篇之GridView

阅读更多

GridView跟ListView都是比较常用的多控件布局,而GridView更是实现九宫图的首选!本文就是介绍如何使用GridView实现九宫图。GridView的用法很多,网上介绍最多的方法就是自己实现一个ImageAdapter继承BaseAdapter,再供GridView使用,类似这种的方法本文不再重复,本文介绍的GridView用法跟前文ListView的极其类似。。。。也算是我偷懒一下,嘻嘻嘻嘻。。。。

       先来贴出本文代码运行的结果:

1

 

本文需要添加/修改3个文件:main.xml、night_item.xml、JAVA源代码。

main.xml源代码如下,本身是个GirdView,用于装载Item:

 

view plaincopy to clipboardprint?
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <GridView xmlns:android="http://schemas.android.com/apk/res/android"   
  3.     android:id="@+id/gridview"  
  4.     android:layout_width="fill_parent"   
  5.     android:layout_height="fill_parent"  
  6.     android:numColumns="auto_fit"  
  7.     android:verticalSpacing="10dp"  
  8.     android:horizontalSpacing="10dp"  
  9.     android:columnWidth="90dp"  
  10.     android:stretchMode="columnWidth"  
  11.     android:gravity="center"  
  12. />  

 

 

介绍一下里面的某些属性:

android:numColumns="auto_fit" ,GridView的列数设置为自动

android:columnWidth="90dp",每列的宽度,也就是Item的宽度
android:stretchMode="columnWidth",缩放与列宽大小同步
android:verticalSpacing="10dp",两行之间的边距,如:行一(NO.0~NO.2)与行二(NO.3~NO.5)间距为10dp
android:horizontalSpacing="10dp",两列之间的边距。

 

接下来介绍 night_item.xml,这个XML跟前面ListView的ImageItem.xml很类似:

 

view plaincopy to clipboardprint?
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <RelativeLayout   
  3.          xmlns:android="http://schemas.android.com/apk/res/android"   
  4.          android:layout_height="wrap_content"   
  5.          android:paddingBottom="4dip" android:layout_width="fill_parent">  
  6.          <ImageView   
  7.                android:layout_height="wrap_content"   
  8.                android:id="@+id/ItemImage"   
  9.                android:layout_width="wrap_content"   
  10.                android:layout_centerHorizontal="true">   
  11.          </ImageView>  
  12.          <TextView   
  13.                android:layout_width="wrap_content"   
  14.                android:layout_below="@+id/ItemImage"   
  15.                android:layout_height="wrap_content"   
  16.                android:text="TextView01"   
  17.                android:layout_centerHorizontal="true"   
  18.                android:id="@+id/ItemText">  
  19.          </TextView>  
  20. </RelativeLayout>  

 

 

最后就是JAVA的源代码了,也跟前面的ListView的JAVA源代码很类似,不过多了“选中”的事件处理:

 

view plaincopy to clipboardprint?
  1.   public void onCreate(Bundle savedInstanceState) {  
  2.       super.onCreate(savedInstanceState);  
  3.       setContentView(R.layout.main);  
  4.       GridView gridview = (GridView) findViewById(R.id.gridview);  
  5.         
  6.       //生成动态数组,并且转入数据  
  7.       ArrayList<HashMap<String, Object>> lstImageItem = new ArrayList<HashMap<String, Object>>();  
  8.       for(int i=0;i<10;i++)  
  9.       {  
  10.         HashMap<String, Object> map = new HashMap<String, Object>();  
  11.         map.put("ItemImage", R.drawable.icon);//添加图像资源的ID  
  12.     map.put("ItemText""NO."+String.valueOf(i));//按序号做ItemText  
  13.         lstImageItem.add(map);  
  14.       }  
  15.       //生成适配器的ImageItem <====> 动态数组的元素,两者一一对应  
  16.       SimpleAdapter saImageItems = new SimpleAdapter(this//没什么解释  
  17.                                                 lstImageItem,//数据来源   
  18.                                                 R.layout.night_item,//night_item的XML实现  
  19.                                                   
  20.                                                 //动态数组与ImageItem对应的子项          
  21.                                                 new String[] {"ItemImage","ItemText"},   
  22.                                                   
  23.                                                 //ImageItem的XML文件里面的一个ImageView,两个TextView ID  
  24.                                                 new int[] {R.id.ItemImage,R.id.ItemText});  
分享到:
评论

相关推荐

    Android入门第八篇之GridView(九宫图)

    在本篇“Android入门第八篇之GridView(九宫图)”中,我们将深入探讨如何利用GridView实现九宫格布局,并通过分析代码和关键属性了解其实现方式。 首先,GridView的使用类似于ListView,都是用来展示多个相似的视图...

    Android入门到精通详解(完整书签)

    ##### 第8章:视图组(ViewGroup)和布局(Layout)的使用 - **Android的屏幕元素体系**:讲述了Android中用于构建用户界面的主要元素。 - **几种独立使用的视图组**:列举了几种常见的独立使用的视图组,如...

    Android入门到精通源代码.

    第8章 Android中的后台服务Service 8.1 Service的作用 8.2 Service的实现 8.2.1 创建Service 8.2.2 启动Service 8.3 Toast和Notification应用 8.3.1 使用Notification通知 用户服务启动 8.3.2 使用Toast显示通知信息...

    Android编程入门很简单.(清华出版.王勇).part1

    第8章Android应用程序组成 8.1深入理解Activity 8.1.1使用Intent连接Activity 8.1.2 Activity的生命周期 …… 第9章Android中的数据存储 第10章绚丽的多媒体技术 第11章Android网上冲浪 第12章Android地图服务 第4篇...

    android开发从入门到精通光盘源代码第二章

    "android开发从入门到精通光盘源代码第二章"提供的资源正是为了帮助初学者系统学习并深入理解这一平台的编程技术。本章节可能涵盖了Android应用的基础架构、UI设计、事件处理、数据存储等多个方面,通过实际的源代码...

    Android编程入门很简单.(清华出版.王勇).part2

    第8章Android应用程序组成 8.1深入理解Activity 8.1.1使用Intent连接Activity 8.1.2 Activity的生命周期 …… 第9章Android中的数据存储 第10章绚丽的多媒体技术 第11章Android网上冲浪 第12章Android地图服务 第4篇...

    android入门与实践 书中源码

    《Android入门与实践》是一本面向初学者的指南,旨在帮助读者快速掌握Android应用开发的基础知识和实战技巧。书中的源码是学习过程中极其宝贵的参考资料,可以让你通过实际操作理解每一章的内容,加深对Android编程...

    Android编程指南+程序员入门(中文版).pdf

    第八章:列表,菜单和其它Views - **UI组件使用**:深入讲解Android UI设计中的列表、菜单和其他View组件,包括ListView、GridView、Spinner等的使用技巧。 #### 5. 第九章:使用手机的GPS功能 - **GPS定位服务*...

    Google.Android开发入门与实战

    第8章 移动信息仓库——Android的数据存储操作 8.1 Android数据存储概述 8.2 轻轻地我保护——SharedPreferences存储 8.3 谁的文件,谁主宰——文件存储 8.4 打造自己的数据库存储——SQLite存储方式 8.4.1 Android...

    Google Android开发入门与实战的代码

    第8章 移动信息仓库——Android的数据存储操作 136 8.1 Android数据存储概述 136 8.2 轻轻地我保护——SharedPreferences存储 136 8.3 谁的文件,谁主宰——文件存储 140 8.4 打造自己的数据库存储——...

    AndRoid培训详细资料

    2. **入门**:这部分资料可能是介绍Android的基本概念,例如AndroidManifest.xml文件的作用,Activity的生命周期,以及如何创建第一个Hello World应用程序。对于初学者来说,这是了解Android开发的起点。 3. **...

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

    Android中文合集(5)(126+8篇)(chm格式) .html90.88 KB Android中文合集.pdf5738.41 KB Android开发者指南(1) —— Android Debug Bridge(adb) - 农民伯伯 - 博客园.mht514.63 KB Android开发者指南(10) —— ...

    开始使用 Xamarin.Android 开发 Android 应用

    - **第 1 部分:快速入门**:学习 Android 的基本概念和术语。 - **第 2 部分:深入了解**:深入探索 Android 平台的工作原理和技术细节。 3. **面向 Java 开发者的 Xamarin**: - **应用程序基础知识**:掌握 ...

    android一步一步最基础学习__新手

    #### 第八讲:Intent入门指南 - **Intent概念**: - 用于传递消息,实现Activity之间的跳转或服务的调用。 - 包含动作(Action)、数据(Data)、类别(Category)等信息。 - **使用Intent**: - 显式Intent:...

    Android应用开发揭秘第四章源码

    10. **myhelloworld**:这是一个典型的Android入门程序,通常用于展示简单的“Hello, World!”输出。开发者可能在此提供了Android开发的基本步骤,包括创建项目、编写布局文件和主活动代码。 通过研究这些源码,...

    老罗android视频开发源码和ppt经典

    一、Android入门介绍 视频教程 1.1 android系统介绍 1.2 android系统框架的介绍 1.3 如何搭建android开发环境 1.4 android生命周期的介绍 1.5 android使用全局变量传递数据 1.6 android使用剪切板传递数据 1.7 意图...

    android API 中文 文档

    3. **快速入门**: 这部分文档为初学者提供了Android应用开发的基本步骤,包括环境搭建、创建第一个项目、布局设计和运行应用等内容,是学习Android开发的起点。 4. **Hessian通讯**: Hessian是一种二进制Web服务...

Global site tag (gtag.js) - Google Analytics