Android五大布局
1、线性布局(LinearLayout):按照垂直或者水平方向布局的组件。
2、相对布局(RelativeLayout):相对其它组件的布局方式。
3、帧布局(FrameLayout):组件从屏幕左上方布局组件。
4、表格布局(TableLayout):按照行列方式布局组件。
5、绝对布局(AbsoluteLayout):按照绝对坐标来布局组件。
在android开发中一般用的比较多的是线性布局和相对布局,所以下面只介绍这两个布局:
1、线性布局:
线性布局是最常见的一种布局方式,一般按照水平或者垂直的方向来布局,通过“android:orientation”属性可以设置线性布局的方向。属性值有垂直(vertical)和水平(horizontal)两种。
典型的特性:
android:orientation:可以设置布局的方向
android:gravity:用来控制组件的对齐方式
layout_weight:控制各个组件在布局中的相对大小
layout_weight属性以控制各个控件在布局中的相对大小。layout_weight属性是一个非负整数值。
线性布局会根据该控件layout_weight值与其所处布局中所有控件layout_weight值之和的比值为该控件分配占用的区域。例如,在水平布局的LinearLayout中有两个Button,这两个Button的layout_weight属性值都为1,那么这两个按钮都会被拉伸到整个屏幕宽度的一半。如果layout_weight指为0,控件会按原大小显示,不会被拉伸;对于其余layout_weight属性值大于0的控件,系统将会减去layout_weight属性值为0的控件的宽度或者高度,再用剩余的宽度或高度按相应的比例来分配每一个控件显示的宽度或高度。
2、相对布局:
相对布局是按照子元素之间的位置关系完成布局的,作为Android系统五大布局中最灵活也是最常用的一种布局方式,非常适合于一些比较复杂的界面设计。
注意:在引用其他子元素之前,引用的id必须已经存在,否则将出现异常。
android:layout_toLeftOf 该组件位于引用组件的左方
android:layout_toRightOf 该组件位于引用组件的右方
android:layout_above 该组件位于引用组件的上方
android:layout_below 该组件位于引用组件的下方
android:layout_alignParentLeft 该组件是否对齐父组件的左端
android:layout_alignParentRight 该组件是否齐其父组件的右端
android:layout_alignParentTop 该组件是否对齐父组件的顶部
android:layout_alignParentBottom 该组件是否对齐父组件的底部
android:layout_centerInParent 该组件是否相对于父组件居中
android:layout_centerHorizontal 该组件是否横向居中
android:layout_centerVertical 该组件是否垂直居中
layout_margin和layout_padding
(1)layout_margin
用于设置控件边缘相对于父控件的边距
android:layout_marginLeft
android:layout_marginRight
android:layout_marginTop
android:layout_marginBottom
(2) layout_padding
用于设置控件内容相对于控件边缘的边距
android:layout_paddingLeft
android:layout_paddingRight
android:layout_paddingTop
android:layout_paddingBottom
android:gravity和android:layout_gravity
(1)gravity
用于设置View组件里面内容的对齐方式 top bottom left right center等 。
android:gravity 用于设置组件本身里面内容或者子控件的对齐方式,比如Button里面的文字,如果
android:gravity="left",那么文字文字就会靠左显示。
(2)android:layout_gravity
android:layout_gravity 用于设置组件在layout容器中对齐方式
比如设置Button android:layout_gravity="right",则button会在layout容器右边显示。
附加:
<include layout="@layout/main_layout"/>重新引用布局文件。
网友评论