安卓布局:线性布局(Linearlayout)和相对布局(RelativeLayout)
线性布局是安卓程序中最常见的一种布局方式,线性布局可以分为水平线性布局和垂直线性布局两种,通过android:orientation属性可以设置线性布局的方向。
线性布局在生活中还是很常见的,比如手机上的计算器,横竖分明,非常好辨别和使用。
线性布局常用的属性:
android:gravity:控件自身上面的内容位置
android:layout_gravity:控件本身相对于父控件的显示位置
注意:在父容器设置为竖直方向时,layout_gravity只能控制水平位置;而当父容器设置为垂直方向时,layout_gravity只能控制竖直位置。
android:layout_weight:给控件分配剩余空间,分配权重
注意:layout_weight在设置前必须设置元素的高/宽为0dp,这样分配的空间才标准。因为权重最基本的用法就是 对线性布局指定方向(水平或垂直)上剩余空间分配的一个规则,先把规定的大小占完,再来按比例分配剩余空间
android:orientation:设置线性布局的排版方向,有vertical (垂直方向) 、horizontal(水平方向)两种布局方式
线性布局垂直方向示例:
布局代码:
首先设置布局为android:orientation="vertical",然后放上3个满宽度的Button,全部设置高度为0,然后分配android:layout_weight,然后一个标准的线性垂直排版就出现了。并且给最上边和最下边的按钮设置了android:gravity属性。让其文字显示位置改变。
线性布局水平方向示例:
布局代码:
注:(大布局上使用了垂直布局,为的方便观察水平布局) 首先设置两个Linearlayout为 android:orientation="horizontal",然后放入2个Button,设置其宽度为0dp,方便分配权重观察。
RelativeLayout相对布局
相对布局 RelativeLayout 允许子元素指定它们相对于其父元素或兄弟元素的位置,这是实际布局中最常用的布局方式之一。它灵活性大很多,当然属性也多,属性之间冲突的的可能性也大,所以使用相对布局时要多做些测试
相对布局常见属性:
相对于线性布局,相对布局并没有太多需要叙述的。当相对布局的属性你都能够熟练运用,这个布局就差不多弄明白了,这里在下就简单的举一个例子
这张图上的布局,是使用线性布局和相对布局混合搭配完成的,也是在下的课下练习
代码如下:
<?xml version="1.0" encoding="utf-8"?>
思路很简单,首先最大的布局使用线性布局(看也看得出来)。每一行的内容都是一个相对布局模块。第一个模块的内容是由一个图片和一个TextView组成,首先设置图片和TextView在父控件水平居中(android:layout_centerHorizontal="true"),再设置TextView在兄弟控件图片的下边(android:layout_below="@+id/touxiang")。就完成了,其余的内容,每一个RelativeLayout都在上一个RelativeLayout的下边,里面的图片和TextView都是设置了父控件垂直居中(android:layout_centerVertical="true"),在设置TextView在兄弟控件图片的右边(android:layout_toRightOf="@+id/img"),就完成了整个布局
以上便是线性布局和相对布局的一些简单的介绍和示例。
更多相关文章
- 解决ListView,GridView,Gallery的Adapter中的getView多次调...
- Android布局管理器浅析
- android获取控件宽和高
- Android(安卓)Fragment的使用
- Android笔记---常用控件以及用法
- Android(安卓)Material Design 系列之 Toolbar 使用详解
- Android用户界面开发(11):Menu
- Android(安卓)UI 限定字数 单独一行
- Android(安卓)ListView那些事