文档章节

使用GridView以表格形式显示多张图片

爱碳酸饮料
 爱碳酸饮料
发布于 2016/01/07 20:30
字数 636
阅读 19
收藏 0

这是我们是实现的效果

 

1.layout中新建一个main 布局文件

  <?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:numColumns=""    每行显示多少列

         android:horizontalSpacing="" 两列之间的间距

         android:verticalSpacing=""   两行之间的间距

    

     -->

    <GridView 

         android:layout_marginTop="10dp"

         android:id="@+id/gridView"

         android:layout_width="wrap_content"

         android:layout_height="wrap_content"

         android:horizontalSpacing="10dp"

         android:verticalSpacing="10dp"

         android:numColumns="3"        

        ></GridView>

 

</LinearLayout>

 

2.MainActivity.javaZ中声明一个GridView组件

  private GridView gridView;

  绑定组件

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

我们分四步实现这个功能

        //1.添加数据源

//2.新建一个适配器(SimpleAdapter

//3.GridView加载适配器

//4.GridView加载事件监听器(OnItemClickListener

首先我们需要添加数据源

  我们把图片放到 drawable

MainActivity.java我们新建两个数组

 int[]icon={R.drawable.android,R.drawable.biji,R.drawable.book,R.drawable.dianhua,R.drawable.ditu,

R.drawable.duanxin,R.drawable.facebook,R.drawable.liulanqi,R.drawable.shangchang,

R.drawable.shezhi,R.drawable.shizhong,R.drawable.shoudiantong};

private String[]iconName={"安卓","笔记","电子书","电话","地图","短信","facebook",

"浏览器","商场","设置","时钟","手电筒"};

然后新建一个适配器

 private SimpleAdapter adapter;//新建一个适配器

 加载数据源

adapter = new SimpleAdapter(this , getData(), R.layout.itemnew String[]{"image","text"}, 

new int[]{R.id.image,R.id.text});

 

这里我们要知道SimpleAdater的用法

 

其中getData()是数据源 

private List<Map<String, Object>> getData() {

// TODO Auto-generated method stub

       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]);

dataList.add(map);

       }

return dataList;

}

 

Gridview加载适配器

gridView.setAdapter(adapter);//加载适配器

 

4.GridView加载事件监听器(OnItemClickListener

 

public void onItemClick(AdapterView<?> parent, View viewint positionlong id) {

// TODO Auto-generated method stub

Toast.makeText(this"我是"+iconName[position], Toast.LENGTH_SHORT).show();

}

 下面是MainActivity.java中的所有代码

package com.example.gridviewdemo;

 

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.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.webkit.WebIconDatabase.IconListener;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.GridView;

import android.widget.SimpleAdapter;

import android.widget.Toast;

 

public class MainActivity extends Activity implements OnItemClickListener{

    

private GridView gridView;

private int[]icon={R.drawable.android,R.drawable.biji,R.drawable.book,R.drawable.dianhua,R.drawable.ditu,

R.drawable.duanxin,R.drawable.facebook,R.drawable.liulanqi,R.drawable.shangchang,

R.drawable.shezhi,R.drawable.shizhong,R.drawable.shoudiantong};

private String[]iconName={"安卓","笔记","电子书","电话","地图","短信","facebook",

"浏览器","商场","设置","时钟","手电筒"};

private List<Map<String, Object>> dataList;

private SimpleAdapter adapter;//新建一个适配器

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

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

//1.添加数据源

//2.新建一个适配器(SimpleAdapter

//3.GridView加载适配器

//4.GridView加载事件监听器(OnItemClickListener

dataList = new ArrayList<Map<String,Object>>();

adapter = new SimpleAdapter(this , getData(), R.layout.itemnew String[]{"image","text"}, 

new int[]{R.id.image,R.id.text});

gridView.setAdapter(adapter);//加载适配器

gridView.setOnItemClickListener(this);

}

  private List<Map<String, Object>> getData() {

// TODO Auto-generated method stub

       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]);

dataList.add(map);

       }

return dataList;

}

 

@Override

public void onItemClick(AdapterView<?> parent, View viewint positionlong id) {

// TODO Auto-generated method stub

Toast.makeText(this"我是"+iconName[position], Toast.LENGTH_SHORT).show();

}

 

}


© 著作权归作者所有

爱碳酸饮料
粉丝 0
博文 2
码字总数 1543
作品 0
南昌
私信 提问
Android学习-网格视图GridView

一、简介: GridView是一个以表格形式显示多张图片等组件。它是按照行列的方式来显示内容的,比如实现九宫格图,用GridView是首选。 二、代码块: 看过我上一篇博客的同学应该知道,一步一步...

YouChaoMin
2018/11/28
0
0
【gridview增删改查】数据库查询后lodop打印

ASP.NET中使用gridview可以很容易的把需要的数据动态显示在前台,还可以在表格里加入列进行增删改查,每次点击的时候重新加载数据,gridview也提供了分页等功能,还有一些模版让显示在前台的...

花谢悦神
2018/10/24
0
0
ASP.NET MVC 的 WebGrid 的 6 个重要技巧

ASP.NET MVC 中 WebGrid 的 6 个重要技巧 介绍 当一个 Webform 开发者转做 MVC 开发的时候, 他会发现, 许多自己喜欢的东东不见了. 没有代码隐藏模型(behind code), 没有 view state, 没有页面...

oschina
2014/11/19
8K
21
yii2 GridView常见操作

作者:白狼 出处:http://www.manks.top/article/yii2gridview 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利...

白狼栈
2016/04/21
126
0
Android提高第十五篇之ListView自适应实现表格

本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处! 上次介绍了使用GridView实现表格,这次就说说如何用ListView实现自适应的表格。GridView比ListView更容易实现自适应的表格,但...

晨曦之光
2012/03/14
2.7K
1

没有更多内容

加载失败,请刷新页面

加载更多

【AI实战】手把手教你深度学习文字识别(文字检测篇:基于MSER, CTPN, SegLink, EAST等方法)

文字检测是文字识别过程中的一个非常重要的环节,文字检测的主要目标是将图片中的文字区域位置检测出来,以便于进行后面的文字识别,只有找到了文本所在区域,才能对其内容进行识别。 文字检...

雪饼
今天
7
0
思维导图XMind 8 Pro 绿化方法(附序列号)

按部就班: Step 1 -全新下载最新版本的 Xmind 8(注必须是英文官方的版本,中文代{过}{滤}理网站的版本修改过,无法使用pj); Step 2 -安装完毕后,点击文末的下载按钮下载pj补丁文件包,将...

一只小青蛙
今天
10
0
数据结构(ER数据库)设计规范

表命名规范 表命名的规则分为3个层级,层级之间通过_分割,例如b_r_identity、d_l_identity。规约为: [leavel]_[type]_[name] [leavel] 表示数据库表的层级和功能,分为: s:业务无关的系统...

随风溜达的向日葵
今天
6
0
阿里Sentinel控制台源码修改-对接Apollo规则持久化

https://github.com/alibaba/Sentinel/wiki/%E5%9C%A8%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8-Sentinel 动态规则扩展 https://github.com/alibaba/Sentinel/wiki......

jxlgzwh
昨天
9
0
在Linux系统中创建SSH服务器别名

如果你经常通过 SSH 访问许多不同的远程系统,这个技巧将为你节省一些时间。你可以通过 SSH 为频繁访问的系统创建 SSH 别名,这样你就不必记住所有不同的用户名、主机名、SSH 端口号和 IP 地...

老孟的Linux私房菜
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部