A019-布局之GridLayout

GridLayout

网格布局,是Android4.0之后的API才提供的,算是一个相对新的布局容器,它的用法也很简单,类似LinearLayout可以指定方向,也可以指定控件占用多少行或列的空间。

举例

我们看一个例子:

这里我做了一个登录的一个布局,如果不使用GridLayout来进行布局,可能会有多个布局的嵌套才能实现这样的布局,相对比较麻烦,使用了GridLayout我们可以更加灵活的去控制对齐;网格视图针对行和列进行分割为一个个单元格。

示例代码:

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:columnCount="4"
    android:rowCount="4"
    >

    <TextView
        android:text="姓名:"
        android:layout_marginLeft="5dp"
        android:layout_gravity="center"/>

    <EditText
        android:layout_gravity="fill"
        android:layout_columnSpan="3"

        />

    <TextView
        android:text="密码:"
        android:layout_marginLeft="5dp"
        android:layout_gravity="center"/>

    <EditText
        android:layout_gravity="fill"
        android:layout_columnSpan="3"
        android:inputType="textPassword"
        />

    <Button
        android:text="登录"
        android:layout_column="1"
        />

</GridLayout>

属性解析

android:orientation=”horizontal|vertical” 这个属性跟LinearLayout一样,都表示布局方向。

android:columnCount=”4” 表示4列 android:rowCount=”4” 表示4行

android:layout_columnSpan=”3” 表示占用3列的空间大小

android:layout_rowSpan=”3” 表示占用3行的空间大小

android:layout_gravity 可用用来设置控件的对齐方式

总结

前面几篇博客加上本篇博客已经介绍完了Android的布局容器,分别为LinearLayout、RelativeLayout、FrameLayout、TableLayout、GridLayout。相信大家学习完这几节课程,对Android中的布局容器已经有了一些了解,每一个控件都不能独立于容器存在,布局容器之后我们接下来就会继续学习控件的使用,通过模块化来学习如何去搭建用户界面,这样才会让大家更加接地气去感受一个App的UI是如何搭建起来的。

转载请注明:IT_xiao小巫 http://blog.csdn.net/wwj_748

原文发布于微信公众号 - 小巫技术博客(wwjblog)

原文发表时间:2015-10-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Google Dart

AngularDart Material Design 切换 顶

用户可以点击切换按钮来更改状态。 通常,当您有一个ON / OFF选项时,您可以使用切换按钮。 如果您要一组中的多个选项中选中/取消选中,请改用material...

822
来自专栏我和未来有约会

Silverlight制作scrollbar.

最近要用silverlight开发一个小程序.做了一个scrollbar.其实sl自己带了这个控件,但是如果要样式和自己的程序的风格完全一致的话也是有些难度的....

1947
来自专栏葡萄城控件技术团队

Spread for Windows Forms快速入门(7)---单元格的交互操作

单元格的编辑模式 通常情况下,当终端用户双击单元格时,编辑控件将允许用户在该单元格中输入内容。在一个单元格中编辑的能力被称为编辑模式。一些属性和方法可以用来自定...

20910
来自专栏极乐技术社区

微信小程序开发详解《五》布局基础

1:Flex布局 Flex布局如图所示 image.png 1.1 Flex容器属性 image.png 1.2 Flex容器内元素属性 image...

6205
来自专栏Python小屋

Python以字符形式打印双色图片中的文字

本文代码功能:假设有一白色背景的图片内含非白色姓名,代码读取图片像素信息,用很多星号来打印该姓名。 from PIL import Image def prin...

2584
来自专栏施炯的IoT开发专栏

Windows Mobile上的HTML解析器

Matjaž Prtenjak提出这个移动设备上HTML解析器、并表现在HTML Label上的最初目的,就是为了能够在界面上实时地改变一些控件上的文字内容和...

2175
来自专栏向治洪

React Native导航器之react-navigation使用

在上一节Navigation组件,我们使用系统提供的导航组件做了一个跳转的例子,不过其实战能力不强,这里推荐一个超牛逼的第三方库:react-navigatio...

2K7
来自专栏韩东吉的Unity杂货铺

零基础入门 13: UGUI Text

前几篇介绍了UGUI里的Image,今天来说下UGUI 的Text,显示文本的组件。因为有了之前代码创建Image的铺垫,所以对Text的使用就都在这篇介绍了。

1472
来自专栏GreenLeaves

WebStorm 快键键

ctrl+/ 单行注释 ctrl+shift+/ 块注释 ctrl+shift+ +/- 展开/折叠 ctrl+alt+L 格式化代码 ctrl+shift+ ...

1987
来自专栏前端之心

你真的了解回流和重绘吗

最近有空对其进行了一些研究,看了一些博客和书籍,整理了一些内容并且结合一些例子,写了这篇文章,希望可以帮助到大家。

8895

扫码关注云+社区

领取腾讯云代金券