GridView的应用

MainActivity代码 1 package gridviewdemo4.example.administrator.gridviewdemo04;
 2
 3 import android.app.Activity;
 4 import android.support.v7.app.AppCompatActivity;
 5 import android.os.Bundle;
 6 import android.view.View;
 7 import android.widget.AdapterView;
 8 import android.widget.GridView;
 9 import android.widget.SimpleAdapter;
10 import android.widget.Toast;
11
12 import java.util.ArrayList;
13 import java.util.HashMap;
14 import java.util.List;
15 import java.util.Map;
16
17 public class MainActivity extends Activity implements AdapterView.OnItemClickListener{
18     GridView gridView;
19     private List<Map<String,Object>> datalist;
20
21     private SimpleAdapter simpleAdapter;
22    /* 1设置数据源
23     2 新建适配器
24     3 GridView加载到适配器
25     4 GridView配置事件监听器(实现OnItemClickListener接口)*/
26
27     private int[] icon={R.drawable.calendar, R.drawable.camera,R.drawable.clock,R.drawable.games_control,R.drawable.messenger,R.drawable.ringtone
28             ,R.drawable.settings,R.drawable.speech_balloon,R.drawable.weather,R.drawable.world,R.drawable.youtube};
29     private  String[] iconName={"日历","照相机","闹钟","游戏","联系人","音乐","设置","短信息","天气","浏览器","优土"};
30     @Override
31     protected void onCreate(Bundle savedInstanceState) {
32         super.onCreate(savedInstanceState);
33         setContentView(R.layout.main);
34         gridView= (GridView) findViewById(R.id.gridView);
35         datalist=new ArrayList<Map<String,Object>>();
36         simpleAdapter=new SimpleAdapter(this,getData(),R.layout.item,new String[]{"pic","text"},new int[]{R.id.image,R.id.text});
37         gridView.setAdapter(simpleAdapter);
38         gridView.setOnItemClickListener(this);
39     }
40     private List<Map<String,Object>> getData(){
41
42         for(int i=0;i<icon.length;i++){
43             Map<String,Object> map=new HashMap<String, Object>();
44             map.put("pic",icon[i]);
45             map.put("text",iconName[i]);
46             datalist.add(map);
47         }
48         return datalist;
49     }
50
51     @Override
52     public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
53         Toast.makeText(this,iconName[position],Toast.LENGTH_SHORT).show();/*pisition从0开始计数*/
54     }
55 }

item.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:orientation="vertical" android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:gravity="center"
 6     android:background="@color/black">
 7     <ImageView
 8         android:src="@drawable/ic_launcher"
 9         android:layout_width="60dp"
10         android:layout_height="60dp"
11         android:id="@+id/image"
12         />
13     <TextView
14         android:layout_marginTop="5dp"
15         android:layout_width="wrap_content"
16         android:layout_height="wrap_content"
17         android:id="@+id/text"
18         android:textColor="@color/white"
19         android:textSize="20sp"
20         android:text="文字"/>
21 </LinearLayout>

main.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:orientation="vertical" android:layout_width="match_parent"
 4     android:layout_height="match_parent">
 5     <GridView
 6         android:layout_width="wrap_content"
 7         android:layout_height="wrap_content"
 8         android:id="@+id/gridView"
 9         android:numColumns="3"
10         android:horizontalSpacing="10dp"
11         android:verticalSpacing="10dp"
12
13         ></GridView>
14 </LinearLayout>
15   <!--  android:numColumns="auto_fit" 每一行显示多少列,auto_fit自动适应
16     android:horizontalSpacing="10dp"  两列之间的间距
17     android:verticalSpacing="10dp"  两行之间的间距-->
时间: 2024-08-11 16:44:53

GridView的应用的相关文章

Android 监听ListView、GridView滑动到底部

// 监听listview滚到最底部mIndexList.setOnScrollListener(new OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { switch (scrollState) { // 当不滚动时 case OnScrollListener.SCROLL_STATE_IDLE: // 判断滚动到底部 if (view.get

XAF 如何从Excel复制多个单元格内容到GridView(收藏)

how to paste some excel content to xtragrid? 1.相關資料 http://community.devexpress.com/forums/t/36684.aspx http://community.devexpress.com/forums/t/58611.aspx using System; using DevExpress.ExpressApp; using DevExpress.ExpressApp.Actions; using DevExpre

使用GridView和SimpleAdapter实现手机界面常见的九宫格

首先是两个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的GridView和Gallery

GridView: activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height=&q

可拖动GridView的实现,类似支付宝界面

1.概述 之前实现过一个仿支付宝界面的代码,可拖动网格视图.其实实现的原理网上都可以找到,我也是参考网上实现的方法,实现了自己需要的界面.并对实现的原理和方法进行了分析,现在进行总结,放太久都快忘记自己做过这回事了.原理和实现网上大部分地方都可以找到,我是根据自己的理解进行分析的,现在对之前的工作进行总结,了解实现的基本过程和方法.GridView拖动的源码来源于网上,根据需求修改成了需要的效果,下面简单说明下实现过程. 在说明实现之前,先上一张总体的界面效果图: 为了更好说明程序种各个变量的意

GridView控件详解

一.介绍 GridView控件一表格形式显示数据源中的数据.提供对列进行排序.分页以及编辑.删除单个记录的功能. 二.绑定数据源 第一种使用DataSourceID属性.可以直接把GridView控件绑定到数据源控件上,以利用数据源控件的功能实现编辑.删除.排序.分页等功能.(初级) 第二种可以绑定到ADO.NET数据集和数据读取器对象上,但需要为所有功能编写后台代码.(一般使用这种方式) private void gridViewBind() { //获取GridView排序数据列及排序方向

GridView--scroolview嵌套listview和gridview

我们在真实项目中通常会遇到ListView或者GridView嵌套在ScrollView中问题.但是做的时候会发现,一旦两者进行嵌套,即会发生冲突.得不到我们希望的效果.由于ListView和GridView本身都继承于ScrollView,一旦在ScrollView中嵌套ScrollView,那么里面的ScrollView高度计算就会出现问题.我们也就无法得到想要的效果.下面进入正题,我们将分别讨论ScrollView中嵌套ListView和FGridView的情况: 核心解决方案: 重写Li

Win10开发:实现GridView选定项的反选

今天在开发Flickr下载器的时候遇到了要反选GridView选中项的反选问题,花了好一会儿才解决,所以写篇博文记录一下. 我觉得我的实现方法很Low,真的是很愚蠢的办法.不刚好我就是个愚蠢的人,只想到了这么个愚蠢的办法.如果读者有更优的办法欢迎指教. 废话有点多,进入正题. 先说说几个相关的GridView的属性或方法: 属性: SelectionMode:项的选择模式,有四个可选值.默认为单选,即Single.多选为:Multiple SelectedItem:获取或设置选定项,可读写 Se

Android的GridView和ScrollView的嵌套

来源于回答频道答题,因此内容都是基于回答频道的原题布局进行 1.布局文件如下 文件名:testxm.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" andr

解决GridView动态设置宽高导致第一个item点击不响应或显示不正常问题

最近做项目的时候遇到了2次这个问题,现在分享一下经验 一.问题 问题代码: </pre><p><pre name="code" class="java">@Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub final ViewHolder holder