Android 4.0 布局-->GridLayout 网格布局

以行列单元格的形式展示内部控件排列,可以实现类似计算机键盘效果 ,也可以实现可自动变行的标签群效果

使用GridLayout ,有效减少了布局的深度,渲染速度也是很快的

类似于LinearLayout 的使用,额外添加了一些特有的属性

先来看下GridLayout的一些属性介绍

1、

android:orientation="horizontal|vertical"

内部控件是水平排列的还是竖直排列的

与LinearLayout使用方法一致

2、

android:columnCount=""
android:rowCount=""

内部控件 一行或者一列的显示条目个数,即一行/列 最多显示几条,这里是4条,当内部子控件数目多于时,自动换行/列显示 ,使用此功能方便了实现了自动换行标签群的功能

3、子控件属性

android:layout_row = “”

Android:layout_column = “” 

用于设置该控件的位置  注意从0开始 ,类似于数组,这里即该控件位置 第四行第四  列

4、子控件属性

   android:layout_rowSpan = “”|  android:layout_columnSpan = “”

   android:layout_gravity="fill"

设置某控件跨越多行或多列,前一个设置表明该控件跨越的行数或列数,后一个设置表明该控件填满所跨越的整行或 整列。

----------------------------------------------------------------------------------------------------------------

示例(别人的代码 ,直接拿来用了):

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<GridLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:columnCount=""
android:rowCount=""
android:orientation="horizontal" > <Button
android:layout_column=""
android:text="/" /> <Button android:text="" /> <Button android:text="" /> <Button android:text="" /> <Button android:text="*" /> <Button android:text="" /> <Button android:text="" /> <Button android:text="" /> <Button android:text="-" /> <Button android:text="" /> <Button android:text="" /> <Button android:text="" /> <Button
android:layout_gravity="fill"
android:layout_rowSpan=""
android:text="+" /> <Button
android:layout_columnSpan=""
android:layout_gravity="fill"
android:text="" /> <Button android:text="" /> <Button
android:layout_columnSpan=""
android:layout_gravity="fill"
android:text="=" /> </GridLayout>
</LinearLayout>

xml

效果图:

浅谈GridLayout(网格布局)的更多相关文章

  1. 浅谈Android五大布局

    Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Android的五大布局分别是LinearLay ...

  2. Android精通:TableLayout布局,GridLayout网格布局,FrameLayout帧布局,AbsoluteLayout绝对布局,RelativeLayout相对布局

    在Android中提供了几个常用布局: LinearLayout线性布局 RelativeLayout相对布局 FrameLayout帧布局 AbsoluteLayout绝对布局 TableLayou ...

  3. [转]浅谈Android五大布局(二)——RelativeLayout和TableLayout

    在浅谈Android五大布局(一)中已经描述了LinearLayout(线性布局).FrameLayout(单帧布局)和AbsoulteLayout(绝对布局)三种布局结构,剩下的两种布局Relati ...

  4. [转]浅谈Android五大布局(一)——LinearLayout、FrameLayout和AbsoulteLayout

    Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面.Android的五大布局分别是LinearLay ...

  5. Android零基础入门第32节:新推出的GridLayout网格布局

    原文:Android零基础入门第32节:新推出的GridLayout网格布局 本期主要学习的是网格布局是Android 4.0新增的布局,和前面所学的TableLayout表格布局 有点类似,不过他有 ...

  6. Android之GridLayout网格布局

    1.相关属性 GridLayout网格布局是4.0之后引入的布局方式! android:columnCount="4" //设置列数(4列) android:rowCount=&q ...

  7. GridLayout(网格布局)

    常用属性: 排列对齐: ①设置组件的排列方式:  android:orientation=""     vertical(竖直,默认)或者horizontal(水平) ②设置组件的 ...

  8. android的布局-----GridLayout(网格布局)

    学习导图 (一)简介 网格布局由GridLayout所代表,在android4.0之后新增加的布局管理器,因此需要android4.0之后的版本中使用,如果在更早的平台使用该布局管理器,则需要导入相应 ...

  9. GridLayout网格布局

    网格布局特点: l  使容器中的各组件呈M行×N列的网格状分布. l  网格每列宽度相同,等于容器的宽度除以网格的列数. l  网格每行高度相同,等于容器的高度除以网格的行数. l  各组件的排列方式 ...

随机推荐

  1. SQL Server中的事务日志管理(9/9):监控事务日志

    当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ...

  2. 原生js实现简洁的返回顶部组件

    本文内容相当简单,所以没有发布到博客园首页,如果你不幸看到,那只能是我这篇文章的荣幸,谢谢你的大驾光临~(本博客返回顶部的功能就使用的是这个组件) 返回顶部组件是一种极其常见的网页功能,需求简单:页面 ...

  3. Netbeans 8.2将支持PHP 7

    首先,将PHP项目的PHP版本设置为PHP 7.0. PHP 7其中一项新特性是返回类型声明,即PHP的函数和方法可以声明指定类型的返回值: PHP 7的另一项精彩的改进就是参数的标量类型声明,Net ...

  4. Hack语言特性之类型化

    Hack最基础的特性就是类型标注.PHP5已经开始支持对象的类型化,PHP7也提供了标量类型化声明.Hack提供了全面的类型标注支持,与其typecher配合使用,还可以实现快速.前置静态类型验证. ...

  5. CenOS下firefox browser (火狐浏览器)无法播放网页音乐的解决方法

    新装载的Firefox或许无法播放网页音频,解决方法如下: 1. 下载并安装 flashplayer插件&&下载网址:https://get.adobe.com/flashplayer ...

  6. javascript-String

    概述 String对象是JavaScript原生提供的三个包装对象之一,用来生成字符串的包装对象实例. var s = new String("abc"); typeof s // ...

  7. Verilog学习笔记设计和验证篇(四)...............状态机的置位与复位

    1)状态机的异步置位和复位 异步置位与复位是于时钟无关的.当异步置位或复位信号来临时,他们立即分别置触发器的输出为1或0,不需要等待时钟沿的到来.要将他们列入always块的事件控制信号内就能触发al ...

  8. 自定义开关ToggleButton的使用

    [代码]: toggleMe.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override p ...

  9. 使用maven profile实现多环境可移植构建(转自CSDN)

    使用maven profile实现多环境可移植构建 标签: maven profilemaven自动构建maven自动部署maven可移植构建持续集成 2014-04-25 23:37 26905人阅 ...

  10. Hibernate(七)__多对一 、一对多、 一对一、多对多

    1.many-to-one 以学生和部门之间的关系为例: Department.hbm.xml <?xml version="1.0" encoding="utf- ...