GridLayout 介绍 (转载自http://www.cnblogs.com/skywang12345/p/3154150.html)
1 GridLayout简介
GridLayout是Android4.0新提供的网格矩阵形式的布局控件。
GridLayout的继承关系如下:
java.lang.Object
--> android.view.View
--> android.view.ViewGroup
--> android.widget.GridLayout
GridLayout包含的属性如下:
android:alignmentMode
属性说明:当设置alignMargins,使视图的外边界之间进行校准。可以取以下值:
alignBounds -- 对齐子视图边界。
alignMargins -- 对齐子视图边距。
android:columnCount
属性说明:GridLayout的最大列数
android:rowCount
属性说明:GridLayout的最大行数
android:columnOrderPreserved
属性说明: 当设置为true,使列边界显示的顺序和列索引的顺序相同。默认是true。
android:orientation
属性说明:GridLayout中子元素的布局方向。有以下取值:
horizontal -- 水平布局。
vertical -- 竖直布局。
android:rowOrderPreserved
属性说明: 当设置为true,使行边界显示的顺序和行索引的顺序相同。默认是true。
android:useDefaultMargins
属性说明: 当设置ture,当没有指定视图的布局参数时,告诉GridLayout使用默认的边距。默认值是false。
这些是GridLayout布局本身的属性。
2 GridLayout子元素属性
上面描述的 GridLayout 的属性,是 GridLayout 布局本身的属性;下面 GridLayout 布局中的元素所支持的属性。GridLayout 布局中的元素的属性,定义在 GridLayout.LayoutParams 中。取值如下:
2.1 android:layout_column
属性说明: 显示该空间的列。例如,android:layout_column="0",表示在第1列显示该控件;android:layout_column="1",表示在第2列显示该控件。
layout文件示例,
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal"android:rowCount="2"android:columnCount="3" ><Buttonandroid:id="@+id/one"android:layout_column="1"android:text="1"/><Buttonandroid:id="@+id/two"android:layout_column="0"android:text="2"/><Buttonandroid:id="@+id/three"android:text="3"/><Buttonandroid:id="@+id/devide"android:text="/"/></GridLayout>
View Code
对应的显示效果图:
layout文件说明:
android:orientation="horizontal" -- GridLayout中控件的布局方向是水平布局。
android:rowCount="2" -- GridLayout最大的行数为2行。
android:columnCount="3" -- GridLayout最大的列数为3列。
android:layout_column="1" -- 定义控件one的位于第2列。
android:layout_column="0" -- 定义该控two件的位于第1列。
2.2 android:layout_columnSpan
属性说明: 该控件所占的列数。例如,android:layout_columnSpan="2",表示该控件占2列。
layout文件示例:
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal"android:rowCount="2"android:columnCount="3" ><Buttonandroid:id="@+id/one"android:layout_column="0"android:layout_columnSpan="2"android:text="1"/><Buttonandroid:id="@+id/two"android:text="2"/><Buttonandroid:id="@+id/three"android:text="3"/><Buttonandroid:id="@+id/devide"android:text="/"/></GridLayout>
View Code
对应的显示效果图:
layout文件说明:
数字"1"实际上占据的空间大小是2列,但是第2列显示为空白。若要第2列不显示空白,需要设置 android:layout_gravity属性,参考下例。
2.3 android:layout_row
属性说明: 该控件所在行。例如,android:layout_row="0",表示在第1行显示该控件;android:layout_row="1",表示在第2行显示该控件。它和 android:layout_column类似。
2.4 android:layout_rowSpan
属性说明: 该控件所占的行数。例如,android:layout_rowSpan="2",表示该控件占2行。它和 android:layout_columnSpan类似。
2.5 android:layout_gravity
属性说明:
该控件的布局方式。可以取以下值:
top -- 控件置于容器顶部,不改变控件的大小。
bottom -- 控件置于容器底部,不改变控件的大小。
left -- 控件置于容器左边,不改变控件的大小。
right -- 控件置于容器右边,不改变控件的大小。
center_vertical -- 控件置于容器竖直方向中间,不改变控件的大小。
fill_vertical -- 如果需要,则往竖直方向延伸该控件。
center_horizontal -- 控件置于容器水平方向中间,不改变控件的大小。
fill_horizontal -- 如果需要,则往水平方向延伸该控件。
center -- 控件置于容器中间,不改变控件的大小。
fill -- 如果需要,则往水平、竖直方向延伸该控件。
clip_vertical -- 垂直剪切,剪切的方向基于该控件的top/bottom布局属性。若该控件的gravity是竖直的:若它的gravity是top的话,则剪切该控件的底部;若该控件的gravity是bottom的,则剪切该控件的顶部。
clip_horizontal -- 水平剪切,剪切的方向基于该控件的left/right布局属性。若该控件的gravity是水平的:若它的gravity是left的话,则剪切该控件的右边;若该控件的gravity是 right的,则剪切该控件的左边。
start -- 控件置于容器的起始处,不改变控件的大小。
end -- 控件置于容器的结束处,不改变控件的大小。
对应函数: setGravity(int)
layout文件示例:
<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="wrap_content"android:layout_height="wrap_content"android:orientation="horizontal"android:rowCount="2"android:columnCount="3" ><Buttonandroid:id="@+id/one"android:layout_column="0"android:layout_columnSpan="2"android:layout_gravity="fill"android:text="1"/><Buttonandroid:id="@+id/two"android:text="2"/><Buttonandroid:id="@+id/three"android:text="3"/><Buttonandroid:id="@+id/devide"android:text="/"/></GridLayout>
View Code
对应的显示效果图:
转载自:http://www.cnblogs.com/skywang12345/p/3154150.html
GridLayout 介绍 (转载自http://www.cnblogs.com/skywang12345/p/3154150.html)相关推荐
- Android 布局之GridLayout(转载)
转载:http://www.cnblogs.com/skywang12345/p/3154150.html 1 GridLayout简介 GridLayout是Android4.0新提供的网格矩阵形式 ...
- Html5 WebSocket 技术介绍(转载)
WebSocket是html5规范新引入的功能,用于解决浏览器与后台服务器双向通讯的问题,使用WebSocket技术,后台可以随时向前端推送消息,以保证前后台状态统一,在传统的无状态HTTP协议中,这 ...
- Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍--转载
原文地址:http://www.blogways.net/blog/2013/06/02/jedis-demo.html redis是一个著名的key-value存储系统,而作为其官方推荐的java版 ...
- 注释驱动的 Spring cache 缓存介绍--转载
概述 Spring 3.1 引入了激动人心的基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如 EHCache 或者 OSCache),而是一个对缓存使 ...
- IE 8 Accelerator加速器开发介绍{转载}
记录这篇博客的原因是因为我自己想要有一个快速的加速器,就是我经常在浏览网页的时候,看到有些网址,如果想要转过去的话,我必须手工复制到地址栏,然后回车一下.然后我就想,如果能直接通过一个快捷方式就太好了 ...
- [python爬虫] Selenium常见元素定位方法和操作的学习介绍(转载)
转载地址:[python爬虫] Selenium常见元素定位方法和操作的学习介绍 一. 定位元素方法 官网地址:http://selenium-python.readthedocs.org/locat ...
- JSP中meta http-equiv=pragma content=no-cache属性ttp-equiv功能介绍转载
http-equiv顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变 ...
- RabbitMQ 基本概念介绍-----转载
1. 介绍 RabbitMQ是一个由erlang开发的基于AMQP(Advanced Message Queue )协议的开源实现.用于在分布式系统中存储转发消息,在易用性.扩展性.高可用性等方面都非 ...
- SharePoint 入门书籍推荐 转载来源http://www.cnblogs.com/jianyus/p/3513238.html
最近,总有人说刚入门SharePoint,没有好的资料或者电子书,资料推荐大家多看看博客园和CSDN的博客.对于看博客,我一般是两个思路,要么找一个人的从头到尾看一遍,觉得有意义的,就把地址加收藏:或 ...
- 好压(HaoZip)的命令行模式用法介绍-转载
转载自http://www.cnblogs.com/fetty/p/4859670.html 好压(HaoZip)的命令行模式用法介绍 好压压缩软件,又叫"2345好压",是一款国 ...
最新文章
- echarts中legend如何换行
- 经典排序算法python回顾之一 交换排序
- 理清ThreadLocal、ThreadLocalMap、Thread之间的关系
- 莓良心(第二类斯特林数)
- 定制化WordPress后台的6个技巧
- I.MX6开发板移植Linux4.1.15内核之TSC2007触摸屏设备树信息的添加
- xml文件修改逆向android,Android逆向重置版(2)—起源
- 吴恩达机器学习作业Python实现(四):神经网络(反向传播)
- SMTP 发送内嵌图片 邮件
- UE破解及注册机下载
- 怎么让模糊的数字变清楚_如何用ps将模糊图片变清晰?
- ELK基于ElastAlert实现日志的微信报警
- Web安全测试工具Appscan
- vue3使用dayjs
- bugku writeup(misc_1)
- 2020计算机预推免(保研边缘人) | 重大、北邮、浙大软院、大连理工、华东师范、同济
- 将Dos文档格式转换为Unix格式
- 三国论(21-25章)
- shell在xcode中涉及到的关键字
- EEG情感分析综述(三)
热门文章
- php attr属性,jquery 获取 自定义属性(attr 和 prop)
- 字节跳动实习生转正工资_上海实习 | 字节跳动 广告设计实习生
- 【课程·研】自然辩证法 | 课堂汇报:工程师的伦理规范
- 智能视频抠图_抠图扣视频,AI人工智能还能这样玩!
- linux下lamealsa进行音频流操作(八)用ffmpeg将mp3转为wav
- 数据库系统原理与应用教程(019)—— MySQL 的配置文件
- 想搬去苏州生活了。。
- 蔡勒(Zeller)公式及其推导:快速将任意日期转换为星期数
- 2021字节秋招算法岗面经——抖音推荐
- WIFI系列协议--802.11--系列协议说明