Android布局深究系列文章目录
Android布局深究(一)——LinearLayout(线性布局)
Android布局深究(二)——RelativeLayout(相对布局)
Android布局深究(三)——TableLayout(表格布局)
Android布局深究(四)——FrameLayout(帧布局)
Android布局深究(五)——GridLayout(网格布局)
Android布局深究(六)——AbsoluteLayout(绝对布局)
前言
>本文将带领读者从网格布局的基础属性快速入门安卓的网格布局,最后动手开发实战项目来巩固知识点。
一、GridLayout(网格布局)的定义
网格布局是安卓4.0之后新加的布局,和之前的表格布局有类似的地方,都是以小方格的方式进行组件的定位,但网格表格提供的对齐属性更多,布局更为灵活。
二、常用属性
2.1 网格布局容器的属性
属性 | 作用 |
---|---|
orientation | 设置布局中组件的排列方式,vertical 与horizontal |
layout_gravity | 设置布局容器的对齐方式,center 、bottom 等等 |
rowCount | 设置网格布局有多少行 |
columnCount | 设置网格布局有多少列 |
2.2 网格布局中组件的属性
属性 | 作用 |
---|---|
layout_row | 设置组件位于布局中的某一行 |
layout_column | 设置组件位于布局中的某一列 |
layout_rowSpan | 设置组件横跨几行 |
layout_columnSpan | 设置组件横跨几列 |
三、实战项目
完整代码:
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/GridLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:columnCount="4"
android:orientation="horizontal"
android:layout_gravity="center|top"
android:rowCount="6" >
<TextView
android:layout_row="0"
android:layout_columnSpan="4"
android:layout_gravity="fill"
android:background="@drawable/setbar_bg"
android:text="0"
android:gravity="right"
android:textSize="50sp" />
<Button
android:layout_columnWeight="1"
android:text="1/X" />
<Button
android:layout_columnWeight="2"
android:text="X^2" />
<Button
android:layout_columnWeight="1"
android:text="根号x"
/>
<Button
android:text="/"
/>
<Button
android:layout_gravity="fill"
android:text="%"
/>
<Button
android:layout_gravity="fill"
android:text="CE" />
<Button
android:layout_gravity="fill"
android:text="C"
/>
<Button
android:layout_columnSpan="1"
android:layout_gravity="fill"
android:text="X"
/>
<Button
android:layout_gravity="fill"
android:text="1/X" />
<Button
android:layout_gravity="fill"
android:text="X^2" />
<Button
android:layout_gravity="fill"
android:text="根号x"
/>
<Button
android:layout_gravity="fill"
android:text="/"
/>
<Button
android:layout_gravity="fill"
android:text="7" />
<Button
android:layout_gravity="fill"
android:text="8" />
<Button
android:layout_gravity="fill"
android:text="9"
/>
<Button
android:layout_gravity="fill"
android:text="X"
/>
<Button
android:layout_gravity="fill"
android:text="4" />
<Button
android:layout_gravity="fill"
android:text="5" />
<Button
android:layout_gravity="fill"
android:text="6"
/>
<Button
android:layout_gravity="fill"
android:text="-"
/>
<Button
android:layout_gravity="fill"
android:text="1" />
<Button
android:layout_gravity="fill"
android:text="2" />
<Button
android:layout_gravity="fill"
android:text="3"
/>
<Button
android:layout_gravity="fill"
android:text="+"
/>
<Button
android:layout_gravity="fill"
android:text="+/-" />
<Button
android:layout_gravity="fill"
android:text="0" />
<Button
android:layout_gravity="fill"
android:text="."
/>
<Button
android:layout_gravity="fill"
android:text="="
android:background="#92c2e8"
/>
</GridLayout>
四、总结
在本篇中主要介绍了网格布局的基本用法,通过网格布局,我们可以实现一些具有复杂布局要求的页面布局工作,接下来我将介绍安卓布局的绝对布局,望各位多多支持。