Android应用开发中使用GridView网格布局的代码示例

基本布局演示
1. 定义包含GridView 的 main.xmk

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  >
<GridView
  android:id="@+id/gride"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
<strong>  android:numColumns="3"</strong>
  android:verticalSpacing="5dip"
  />
</LinearLayout>

这行应该注意一下:

android:numColumns="3"

用来设定GridView每行显示的View数目 如果没有这行 会默认每行显示一个View 和ListView 的一样

2. 自定义 class ImageList extends BaseAdapter 其中主要是:

View getView(int position, View convertView, ViewGroup parent)

用于显示目标ImageView

public class ImageList extends BaseAdapter {
    Activity activity;

    //construct
    public ImageList(Activity a ) {
      activity = a;
    }

    @Override
    public int getCount() {
      // TODO Auto-generated method stub
      return image.length;
    }

    @Override
    public Object getItem(int position) {
      // TODO Auto-generated method stub
      return image[position];
    }

    @Override
    public long getItemId(int position) {
      // TODO Auto-generated method stub
      return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
      // TODO Auto-generated method stub
      ImageView iv = new ImageView(activity);
      iv.setImageResource(image[position]);
      return iv;
    }
  }

3. 给GridView指定Adapter

GridView gv = (GridView) findViewById(R.id.gride);
ImageList adapter = new ImageList(this);
gv.setAdapter(adapter);

所以最后效果图是这样的

巧妙地添加GridView的 网格线
ListView 中设置分隔线的加如下参数即可:

android:divider="@color/gray"
android:dividerHeight="1dp"

GridView网格布局,默认情况下是没有网格线的
查找网上资料,找到了一种为GridView添加网格线的小技巧
实际上,该网格线是通过设置GridView各子项的间隔,并分别设置GridView背景色与子项背景色实现的。
实现方法:
(1)设置GridView背景色,设置水平间方向间隔属性值android:horizontalSpacing和竖直方向间隔属性值

android:verticalSpacing

(2)设置GridView子项背景色
示例代码:
1.main.xml

 <GridView
    android:id="@+id/gv_words"
    android:visibility="gone"
    android:background="@color/gray"
    android:columnWidth="60dp"
    android:numColumns="5"
    android:listSelector="@null"
    android:verticalSpacing="1.0px"
    android:horizontalSpacing="1.0px"
    android:soundEffectsEnabled="true"
    android:smoothScrollbar="true"
    android:stretchMode="columnWidth"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@+id/llayout2"
    android:layout_below="@+id/llayout1"/>

2.GrivViewItem布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:background="@color/white" >
  <RelativeLayout
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_margin="5dp">

     <TextView
      android:id="@+id/gv_bushou_TextView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_below="@+id/ItemImage"
      android:layout_margin="1dp"
      android:layout_alignParentTop="true"
      android:layout_alignParentLeft="true"
      android:layout_above="@+id/gv_bushou_TextView2"
      android:layout_toLeftOf="@+id/gv_bushou_TextView2"
      android:textSize="25dp"
      android:textColor="@color/blue"
      android:text="难" >
    </TextView>

    <TextView
      android:id="@+id/gv_bushou_TextView2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_below="@+id/ItemImage"
      android:layout_alignParentBottom="true"
      android:layout_alignParentRight="true"
      android:textColor="@color/gray"
      android:textSize="10dp"
      android:text="1笔" >
    </TextView>
  </RelativeLayout>
</LinearLayout>

3.运行截图

(0)

相关推荐

  • Android中使用GridView进行应用程序UI布局的教程

    0.简介 GridView 和 ListView 有共同的父类:AbsListView,因此 GridView 和 ListView 具有一定 的相似性.GridView与ListView的主要区别在于:ListView只是在一个方向上分布:而 GridView则会在两个方向上分布. 与ListView类似的是,GridView也需要通过Adapter来提供显示的数据:开发者既可通 过SimpleAdapter来为GridView提供数据,也可通过开发 BaseAdaptei的子类来为GridV

  • Android App中的GridView网格布局使用指南

    零.常用属性 首先我们来看看GridView的一些常用的属性吧 1.android:numColumns="auto_fit" //GridView的列数设置为自动 2.android:columnWidth="90dp " //每列的宽度,也就是Item的宽度 3.android:stretchMode="columnWidth"//缩放与列宽大小同步 4.android:verticalSpacing="10dp" //两

  • Android中GridView布局实现整体居中方法示例

    前言 本文主要给大家介绍了关于Android中GridView布局整体居中的相关内容,是对于自己在项目中遇到问题的一个记录,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 效果图: 示例代码: /** * 对高度和宽度进行统计 然后设置gridView的宽高. * @param numColumns 设定行数 * @param gridView */ public static void calGridViewSumWH(int numColumns ,GridView gri

  • Android应用开发中使用GridView网格布局的代码示例

    基本布局演示 1. 定义包含GridView 的 main.xmk <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fi

  • 详解jQuery移动页面开发中的ui-grid网格布局使用

    在移动设备上,屏幕宽度狭窄,因此通常不使用多栏布局,但是有时你可能需要将小的元素(如按钮或并排导航标签,例如)多列排列在一起.Jquery Mobile 框架提供了一种简单的方法构建基于css 的分栏布局,叫做ui-grid Jquery Mobile 提供有四个预设的布局,可以在任何情况下都需要列 两列(使用ui-grid-a类) 三列(使用ui-grid-b类) 四列(使用ui-grid-c类) 五列(使用ui-grid-d类) 网格是100%的宽度,完全看不见的(没有边界或背景)和没有ma

  • Android应用开发:电话监听和录音代码示例

    在oncreate 中执行: 复制代码 代码如下: public void onCreate() {  super.onCreate();  Log.i("TAG", "服务启动了"); // 对电话的来电状态进行监听  TelephonyManager telManager = (TelephonyManager) this    .getSystemService(Context.TELEPHONY_SERVICE);  // 注册一个监听器对电话状态进行监听 

  • Android中在GridView网格视图上实现item拖拽交换的方法

    GridView基础 新建一个HelloGridView的工程 修改main.xml代码如下: <?xml version="1.0" encoding="utf-8"?> <GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/gridview" android:layout_width=&q

  • Android编程开发中ListView的常见用法分析

    本文实例讲述了Android编程开发中ListView的常见用法.分享给大家供大家参考,具体如下: 一.ListView的使用步骤 ListView的使用通常有以下三个要素: (1)ListView中每个条目的布局; (2)填充进入ListView中的内容; (3)将内容与页面进行整合的Adapter. 因此,使用ListView也通常有以下三个步骤: (1)创建ListView条目的布局文件(或使用Android SDK提供的布局); (2)创建填充进入ListView中的内容,如字符串.图片

  • Android编程开发中的正则匹配操作示例

    本文实例讲述了Android编程开发中的正则匹配操作.分享给大家供大家参考,具体如下: 在Android开发中,可能也会遇到一下输入框的合法性验证,这时候最常用的就应该是正则表达式去做一些匹配了,下面就常用的正则匹配做一下介绍 1. 手机号码的验证 根据实际开发于2009年9月7日最新统计: 中国电信发布中国3G号码段:中国联通185,186;中国移动188,187;中国电信189,180共6个号段. 移动:134.135.136.137.138.139.150.151.157(TD).158.

  • Android程序开发中单选按钮(RadioGroup)的使用详解

    在还没给大家介绍单选按钮(RadioGroup)的使用,先给大家展示下效果图吧: xml文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_heig

  • Android应用开发中单元测试分析

    本文主要和大家分享如何在Android应用开发过程中如何进行单元测试,个人在做项目的过程中,觉得单元测试很有必要,以保证我们编写程序的正确性.下面我们先大概了解下单元测试,以及单元测试的作用.        单元测试(又称为模块测试)是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作.程序单元是应用的最小可测试部件.在过程化编程中,一个单元就是单个程序.函数.过程等:对于面向对象编程,最小单元就是方法,包括基类(超类).抽象类.或者派生类(子类)中的方法.单元测试是由程序员自己来完成

  • Android 游戏开发中绘制游戏触摸轨迹的曲线图

    本篇文章主要来讲解怎样绘制游戏触摸轨迹的曲线图. 我们在onTouchEvent方法中,可以获取到触摸屏幕时手指触摸点的x.y坐标,如何用这些点形成一条无规则轨迹并把这条无规则轨迹曲线显示在屏幕上就是本篇文章的主旨内容. Android Path类 Android提供了一个Path类 , 顾名思义这个类可以设置曲线路径轨迹.任何无规则的曲线实际上都是由若干条线段组成,而线段的定义为两点之间最短的一条线.path类就 可以记录这两点之间的轨迹,那么若干个Path 就是我们须要绘制的无规则曲线. 下

随机推荐