GridView的基本使用方法

GridView(网格视图)是按照行列的方式来显示内容的,一般用于显示图片,文字等内容。想要实现一个排列整齐的布局,使用其他的布局方式也可以实现,例如ListView,但是实现起来比较复杂,用GridView是首选,也是最简单的。主要用于设置Adapter。
GridView常用的XML属性: 

属性名称

描述

android:columnWidth

设置列的宽度。

android:gravity

设置此组件中的内容在组件中的位置。可选的值有:topbottomleftrightcenter_verticalfill_verticalcenter_horizontalfill_horizontalcenterfillclip_vertical可以多选,用“|”分开。

android:horizontalSpacing

两列之间的间距。

android:numColumns

设置列数。

android:stretchMode

缩放模式。

android:verticalSpacing

两行之间的间距。

 

首先要建立一个Android的工程,在layout的文件夹下面main.xml文件里面写如下代码:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical" >

   <GridView

                android:id="@+id/gridview"

                android:columnWidth="80dp"

                android:numColumns="auto_fit"

                android:layout_height="wrap_content"

                android:layout_width="wrap_content"

        />

</LinearLayout>

在这个配置文件中GridView的属性已经在上面介绍了,在这里就不重复了。

还需要在layout的文件夹下面建一个city.xml文件,这个文件的作用是用于显示每一个单元格的。这里每一个单元格的字体大小和一些属性都可以进行设置,在这里就不重复了。City.xml文件的代码如下:

<?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="match_parent"

    android:orientation="vertical" >

    <TextView android:id="@+id/ItemText"

          android:layout_width="wrap_content"

          android:layout_height="wrap_content"

    />

</LinearLayout>

         下面就是Java代码:

package com.fx.cx;

 

import java.util.ArrayList;

import java.util.HashMap;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.AdapterView;

import android.widget.GridView;

import android.widget.SimpleAdapter;

import android.widget.AdapterView.OnItemClickListener;

publicclass GridViewTest extends Activity {

    private GridView gridView;

    private String[] citys = new String[]{"北京","上海","武汉","长沙","南京","天津","深圳","香港","澳门","西安","成都","沈阳"};

    publicvoid onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        gridView = (GridView)findViewById(R.id.gridview);

        ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();

        for (int i = 0; i < citys.length; i++) {

        HashMap<String,String> map = new HashMap<String,String>();

        map.put("ItemText", citys[i]);

        list.add(map);

       }

        SimpleAdapter adapter = new SimpleAdapter(this,list,R.layout.city, new String[]{"ItemText"},newint[]{R.id.ItemText});

        gridView.setAdapter(adapter);

        gridView.setOnItemClickListener(new ItemClickListener());  

    }

    class ItemClickListener implements OnItemClickListener{

       publicvoid onItemClick(AdapterView<?> arg0, View arg1, int arg2,

              long arg3) {

              HashMap<String, String> item=(HashMap<String, String>) arg0.getItemAtPosition(arg2); 

               setTitle((String)item.get("ItemText"));           

       }

    }

}

在这段Java代码中,先要通过Id值获得GridView的对象,然后通过SimpleAdapter的适配器放到GridView的布局中。在构造SimpleAdapter的时候,一共有五个参数,第一个参数是传入当前上下文,第二个参数是数据的来源(ArrayList),第三个参数是ListItemxml实现(ciry.xml文件),第四个参数是数组与ListItem对应的子项,第五个参数是ListItemxml(city.xml文件)文件里面的TextViewId

得到了 SimpleAdapter 的适配器,放到 GridView 中,就可以实现网格布局,当然也可以对网格布局中的每一个 Item 都可以进行事件的监听,使用 setOnItemClickListener() 这个方法即可,但是需要实现接口 OnItemClickListItem()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Terry_cx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值