Android新手入门2016(10)--GridView

本文来自肥宝传说之路,引用必须注明出处!

GridView跟ListView一样是多控件布局。实现九宫图是最方便的。

还是先看看图,没图说个鸡鸡是不是


如上图,是一种应用方式,在每个格子里面,放入应用图标,和显示应用的名字在下方。

下面先看看布局文件:

activity_hello_world.xml 

<?xml version="1.0" encoding="utf-8"?>  
<GridView xmlns:android="http://schemas.android.com/apk/res/android"   android:id="@+id/gridview"  android:layout_width="fill_parent"   android:layout_height="fill_parent"  android:numColumns="auto_fit"  android:verticalSpacing="10dp"  android:horizontalSpacing="10dp"  android:columnWidth="90dp"  android:stretchMode="columnWidth"  android:gravity="center"  
/>  
现在说说一些新的属性: 

这里dp相关知识可以看看Android长度相关

 android:numColumns="auto_fit"   设置为自动适应屏幕宽度,上图只能摆放3个
 android:verticalSpacing="10dp"   两行之间的间距是10像素
 android:horizontalSpacing="10dp"   两列之间的间距为10像素
 android:columnWidth="90dp"   每一列的宽度
 android:stretchMode="columnWidth"  缩放与列宽的大小同步
 android:gravity="center"  空间显示的位置是中间

我们再来看看代码:

HelloWorldActivity.java

package com.fable.helloworld;import android.app.Activity;  
import android.os.Bundle;   
import android.widget.GridView;
import android.widget.SimpleAdapter; 
import java.util.*;public class HelloWorldActivity extends Activity {  @Override  public void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);setContentView(R.layout.activity_hello_world);  //设置主布局文件GridView gridview = (GridView) findViewById(R.id.gridview);  //创造数据来源ArrayList<HashMap<String, Object>> images = new ArrayList<HashMap<String, Object>>();  for(int i=1;i<10;i++)  {  HashMap<String, Object> map = new HashMap<String, Object>();  map.put("ItemImage", R.drawable.ic_launcher);//添加图像资源的ID,标识符,值map.put("ItemText", "应用"+String.valueOf(i));//按序号做ItemText,标识符,值  images.add(map);  }  //把数据传入适配器,转换成布局需要的数据SimpleAdapter simpleAdapter = new SimpleAdapter(this, //上下文为当前Activityimages,//数据来源   R.layout.my_list_item,//每一项的布局的XML实现    new String[] {"ItemImage","ItemText"},//动态数组与ImageItem对应的子项 new int[] {R.id.ItemImage,R.id.ItemText});  //ImageItem的XML文件里面的一个ImageView,两个TextView ID  //添加并且显示  gridview.setAdapter(simpleAdapter);   }   }
可以这里使用了SimpleAdapter,用法跟ListView一样。对于ListView中SimpleAdapter的用法,可以看这里。

其实过程是很简单,就是把源数据,转换成适配器的数据,然后把适配器设置到gridView就行了。

跟ListView一样,每一项的布局内也是要一个布局文件的。

my_list_item.xml

<?xml version="1.0" encoding="utf-8"?>  
<RelativeLayout   xmlns:android="http://schemas.android.com/apk/res/android"   android:layout_height="wrap_content"   android:paddingBottom="4dip" android:layout_width="fill_parent">  <ImageView   android:layout_height="wrap_content"   android:id="@+id/ItemImage"   android:layout_width="wrap_content"   android:layout_centerHorizontal="true">   </ImageView>  <TextView   android:layout_width="wrap_content"   android:layout_below="@+id/ItemImage"   android:layout_height="wrap_content"   android:text="TextView01"   android:layout_centerHorizontal="true"   android:id="@+id/ItemText">  </TextView>  
</RelativeLayout>  
这里ItemText设置在ItemImage下面,两个都是垂直居中。








转载于:https://www.cnblogs.com/fablegame/p/6430277.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/404126.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《云计算核心技术剖析》读书笔记之一

http://book.douban.com/subject/6382788/ 通过2周的时间&#xff0c;阅读完了由吴朱华编著的《云计算核心技术剖析》一书。同时国内由CSDN协办的第四届云计算大会要开幕&#xff0c;我在这里把自己写下这本书的读书笔记。这本书是2011年出版&#xff0c;但是在这本书上对微软的…

第四周仿真作业

经过第四周关于交流电机的学习&#xff0c;我们通过对起调速特性的了解&#xff0c;进行仿真&#xff1a; 控制电机带重物上升&#xff0c;从静止加速到800r/min保持800r/min匀速运动0.5s&#xff0c;减速到静止&#xff0c;保持静止状态0.5s&#xff0c;带重物下降&#xff0c…

GVim中以十六进制方式打开文件

在windows下&#xff0c;有时我们想用GVim以十六进制形式来打开一个文件&#xff0c;下面就是不错的方法&#xff0c;将它作为一个右键菜单方式加入&#xff1a; 1. 将"GVim Hex"加入到右键菜单, 将以下内容添加到一个xxx.reg文件&#xff0c;再双击运行一次即可&am…

高性能的智能日志

【编者按】本文作者是 Archanaa Panda &#xff0c;从 2000 以来一直在软件开发&#xff08;构架、设计和编程&#xff09;团队担任 Java / JavaEE 构架师&#xff0c;目前立志于做一个与时俱进的独立的顾问架构师。在本篇文章中&#xff0c;作者通过多个方面为生产环节的日志提…

Android, WindowsPhone7, IOS ,vc2010平台40多套图片滤镜开源

历经三个多月开发&#xff0c;终于完成了这三个库的编码工作。用到的开发语言主要有使用了C&#xff08;含部分Object-c&#xff09;,JAVA,C#。经过检测&#xff0c;目前已正式投入到生产环境中。 为了实现三种语言一种命名方式&#xff0c;我采用了相同的类名&#xff0c;接口…

找到一个比较熟悉Go语言的国内博客

2019独角兽企业重金招聘Python工程师标准>>> 他写了一些不错的Go安装和使用的文章&#xff0c;还参与了一本Go语言书籍的翻译工作&#xff0c;对Go语言相当熟悉。博客地址&#xff1a; http://www.mikespook.com/category/golang-2/ 转载于:https://my.oschina.net/…

解决EditText不能撑满全屏的问题及EditText你应该知道的属性

一般我们要实现去下图一的效果很简单&#xff1a;两个EditText就搞定效果图一&#xff1a;但是我们想让第二个EditText撑满剩余空间怎么做&#xff1f;如效果图二效果图二&#xff1a;解决&#xff1a;使用了ScrollView嵌套LinearLayout&#xff0c;将ScrollView中android:fill…

Active Directory授权还原

Technorati 标签: Active Directory,授权还原额外域控制器有很多好处&#xff0c;例如可以平衡用户对AD的访问压力&#xff0c;有利于避免唯一的域控制器损坏所导致域的崩溃。域内所有的域控制器都有一个内容相同的Active Directory&#xff0c;而且Active Directory的内容是动…

PHP的SESSION使用,文件上传下载等

2019独角兽企业重金招聘Python工程师标准>>> PHP中Session的使用&#xff1a; 1. session_start(): 初始化session,如果页面要使用session&#xff0c;必须先使用这句话&#xff0c;否则会报错。 告诉服务器使用session。一般来说&#xff0c;php是不会主动使用sess…

[数学最安逸][UVa1638改编][第一类斯特林数+组合数]杆子的排列

有高为1,2,3,...,n的杆子各一根排成一行。从左边能看到l根&#xff0c;从右边能看到r根&#xff0c;求有多少种可能。 (l,r < 200,n < 200000) 给出T 组数据 (T < 500000) 对于每一组数据输出可能的个数&#xff0c;为避免写高精&#xff0c;将答案模 1e9 7 (它为质…

Servlet的生命周期 与CGI的区别

2019独角兽企业重金招聘Python工程师标准>>> 对于Servlet&#xff0c;服务器只创建每个servlet的单一实例&#xff0c;每个用户请求都会引发新的线程-----将用户请求将会给相应的doGet/doPost进行处理。那么&#xff0c;servlet是如何进行创建和销毁的&#xff1f; …

自动化打包资源混淆集成python实践----资源混淆

前面自动化打包资源混淆集成python实践----打包一文讲述了四种打包方案&#xff0c;以及美团打包方案、apk注释添加渠道号方案的实现。这里讲集成资源混淆。 1、资源混淆带来的好处&#xff1a; 1&#xff09;对资源文件起一定的保护作用&#xff0c;使其不能知其名不知意&…

[win7] 去除将窗口拖到屏幕边缘时“自动最大化”

在win7中将一个窗口拖到屏幕的边缘&#xff0c;这个窗口将会自动以最大化方式显示&#xff0c;这对于那些需要同时查看两个窗口中内容的用户来说就是个恶梦&#xff01;因为屏幕大小是有限的&#xff0c;为了同时查看两个窗口中的内容&#xff0c;就要将这两个窗口以合适的方式…

iOS 应用程序的国际化

什么事应用程序的国际化? 就是不同国家之间使用的语言不一样,中国人的应用程序显示的汉字,美国人的应用程序是英文. 接下来我们就来实现应用程序的国际化: 1.首先我们新建一个工程,命名为:Internationalization-Demo; 2.添加语言(配置语言):(英文和中文) 3.目前&#xff0c;应…

获得H.264视频分辨率的方法

From: http://www.cnblogs.com/likwo/p/3531241.html 在使用ffmpeg解码播放TS流的时候&#xff08;例如之前写过的UDP组播流&#xff09;&#xff0c;在连接时往往需要耗费大量时间。经过debug发现是av_find_stream_info&#xff08;已抛弃&#xff0c;现在使用的是avformat_fi…

Web服务器性能估算

1 【引题】 但凡写过技术方案的都知道&#xff0c;在技术方案最终落实到工程实施部署时&#xff0c;必须编制出当前解决方案需要部署的IT设备及环境&#xff0c;包括&#xff1a;需要的网络环境、端口、带宽、组网方式、网络安全保障措施&#xff1b;需配置的服务器设备性能…