欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android开发学习之控件GridView的使用讲解

程序员文章站 2023-03-28 08:15:50
如果是列表(单列多行形式)的使用listview,如果是多行多列网状形式的优先使用gridview。 girdview的一些属性: android:numcolumns=&q...

如果是列表(单列多行形式)的使用listview,如果是多行多列网状形式的优先使用gridview。



 

girdview的一些属性:

android:numcolumns="auto_fit" --------列数设置为自动

android:columnwidth="90dp",----------每列的宽度,也就是item的宽度

android:stretchmode="columnwidth"------缩放与列宽大小同步

android:verticalspacing="10dp"----------垂直边距

android:horizontalspacing="10dp"-------水平边距

1、准备数据源

2、新建适配器

3、加载适配器

gridview(网格视图)是按照行列的方式来显示内容的,一般用于显示图片,图片等内容,比如实现九宫格图,用gridview是首选,也是最简单的,下面来个实例,

下载实例>>>

效果图:

Android开发学习之控件GridView的使用讲解

mainactivity.java

package com.example.testgridview;

import java.util.arraylist;
import java.util.hashmap;
import java.util.list;
import java.util.map;

import android.app.activity;
import android.os.bundle;
import android.widget.gridview;
import android.widget.simpleadapter;

public class mainactivity extends activity {
 private gridview gview;
 private list> data_list;
 private simpleadapter sim_adapter;
 // 图片封装为一个数组
 private int[] icon = { r.drawable.address_book, r.drawable.calendar,
r.drawable.camera, r.drawable.clock, r.drawable.games_control,
r.drawable.messenger, r.drawable.ringtone, r.drawable.settings,
r.drawable.speech_balloon, r.drawable.weather, r.drawable.world,
r.drawable.youtube };
 private string[] iconname = { "通讯录", "日历", "照相机", "时钟", "游戏", "短信", "铃声",
"设置", "语音", "天气", "浏览器", "视频" };

 @override
 protected void oncreate(bundle savedinstancestate) {
  super.oncreate(savedinstancestate);
  setcontentview(r.layout.test);
  gview = (gridview) findviewbyid(r.id.gview);
  //新建list
  data_list = new arraylist>();
  //获取数据
  getdata();
  //新建适配器
  string [] from ={"image","text"};
  int [] to = {r.id.image,r.id.text};
  sim_adapter = new simpleadapter(this, data_list, r.layout.item, from, to);
  //配置适配器
  gview.setadapter(sim_adapter);
 }

 
 
 public list> getdata(){  
  //cion和iconname的长度是相同的,这里任选其一都可以
  for(int i=0;i map = new hashmap();
map.put("image", icon[i]);
map.put("text", iconname[i]);
data_list.add(map);
  }

  return data_list;
 }
 

}

test.xml



 

item.xml



 
 



监听接口: onitemclicklistener