android显示布局边界的边距_Android 布局之GridLayout

本文详细介绍了Android中的GridLayout布局,包括其属性如android:alignmentMode、android:columnCount等,以及子元素属性如android:layout_column、android:layout_columnSpan等,通过实例展示了如何创建和使用GridLayout来构建一个简单的计算器界面。
摘要由CSDN通过智能技术生成

Android 布局之GridLayout

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文件示例,

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

View Code

对应的显示效果图:

faf3181ca28c8bc82fc6e70ef3f48147.png

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文件示例:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

View Code

对应的显示效果图:

a64361ab49515f7ca0728c40df3df6e3.png

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文件示例:

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

View Code

对应的显示效果图:

1b7c3df556c8112ff48fe660193b8963.png

3 应用示例

定义一个简单的计算器界面,包含“0-9、.、+、-、*、/、=、”。用GridLayout实现。

layout文件

点击下载:源代码

效果图:

a87a48e5dc07f303087eca437745f532.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值