如果是列表(单列多行形式)的使用ListVIEw,如果是多行多列网状形式的优先使用GrIDVIEw。
<?xml version="1.0" enCoding="utf-8"?><GrIDVIEw xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" > </GrIDVIEw>
GirdVIEw的一些属性:
androID:numColumns="auto_fit" --------列数设置为自动 androID:columnWIDth="90dp",----------每列的宽度,也就是Item的宽度 androID:stretchMode="columnWIDth"------缩放与列宽大小同步 androID:verticalSpacing="10dp"----------垂直边距 androID:horizontalSpacing="10dp"-------水平边距1、准备数据源
2、新建适配器
3、加载适配器
GrIDVIEw(网格视图)是按照行列的方式来显示内容的,一般用于显示图片,图片等内容,比如实现九宫格图,用GrIDVIEw是首选,也是最简单的,下面来个实例,
实例下载:demo
效果图:
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<Map<String,Object>> 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<Map<String,Object>>(); //获取数据 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<Map<String,Object>> getData(){ //cion和iconname的长度是相同的,这里任选其一都可以 for(int i=0;i<icon.length;i++){ Map<String,Object> map = new HashMap<String,Object>(); map.put("image",icon[i]); map.put("text",iconname[i]); data_List.add(map); } return data_List; } }
test.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" androID:background="#000" > <GrIDVIEw androID:ID="@+ID/gvIEw" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:numColumns="auto_fit" androID:columnWIDth="80dp" androID:stretchMode="columnWIDth" ></GrIDVIEw></linearLayout>
item.xml
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:orIEntation="vertical" androID:gravity="center" androID:padding="10dp" > <ImageVIEw androID:src="@drawable/ic_launcher" androID:ID="@+ID/image" androID:layout_wIDth="60dp" androID:layout_height="60dp" /><TextVIEw androID:ID="@+ID/text" androID:layout_margintop="5dp" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:textcolor="#ffffff" androID:text="文字" /></linearLayout>
监听接口: onItemClickListener
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
总结以上是内存溢出为你收集整理的Android:控件GridView的使用实例全部内容,希望文章能够帮你解决Android:控件GridView的使用实例所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)