安卓界面布局:LinearLayout和RelativeLayout

详解两大布局

UI布局给用户的第一直观印象,对安卓常用的两大布局来线性布局和相对布局来进行详细的认识。

LinearLayout

线性布局

android:orientation:设置线性布局是水平还是竖直排列,可能选项如下:

1)vertical,竖直

android:orientation=”vertical”

2)horizontal,水平

android:orientation=”horizontal”

android:gravity:设置View中内容相对于View组件的对齐方式,比如一个Button内部的Text的位置,与android:layout_gravity有所区分,下一个说layout_gravity:

1)center:在水平和竖直方向上都是居中 center_vertical和center_horizontal可想而知,不赘述

android:gravity=”center”

2)Top和Bottom:置顶与置底

android:gravity=”top”
android:gravity=”bottom”

3)left和right:置左和右

android:gravity=”left”
android:gravity=”right”

android:layout_gravity:设置该View相对于父View的位置关系,就是设置View组件相对于Container的对齐方式,比如一个button在linearlayout里,你想把该button放在靠左、靠右等位置就可以通过该属性设置:

对于线性布局来说,当orientation为竖直时,该属性只能设置水平方向上的放置位置,设为center的话,只是水平方向是居中的。

android:layout_marginLeft(Start)/Right(End)/Top/Bottom:调用该属性对象的本身与其他容器或组件的间隙

android:layout_marginLeft=”…”
…表示间隙大小

android:paddingRight/Left/Top/Bottom:调用该属性的对象里的内容与该对象本身有填充物占据

android:padding=” …”
…表示间隙大小

android:layout_weight 指定子元素在LinearLayout中所占的权重

此属性专属于线性布局,可以按照一定的比例来进行分配

RelativeLayout

相对布局
相对,顾名思义是有参照的,就是以某个兄弟组件,或者父容器来决定的(兄弟组件是在一个同一个布局里面的组件,如果是布局里一个组件参照另一个布局里的组件会出错)。

android:gravity:设置容器内各个子组件的对齐方式

android:gravity=”…”
…表示对齐方式

android:ignoreGravity:

如果为哪个组件设置了这个属性的话,那么该组件不受gravity属性的影响

根据父容器来定位:

想位于哪,哪个属性就设置为true

左对齐:android:layout_alighParentLeft

右对齐:android:layout_alighParentRight

顶端对齐:android:layout_alighParentTop

底部对齐:android:layout_alighParentBottom

水平居中:android:layout_centerHorizontal

垂直居中:android:layout_centerVertical

中央位置:android:layout_centerInParent

根据兄弟组件来定位(右面的属性值为兄弟组件的id)

左边:android:layout_toLeftOf

右边:android:layout_toRightOf

上方:android:layout_above

下方:android:layout_below

对齐上边界:android:layout_alignTop

对齐下边界:android:layout_alignBottom

对齐左边界:android:layout_alignLeft

对齐右边界:android:layout_alignRight

Margin:设置组件与父容器(通常是布局)的边距

android:layout_margin: 指定控件的四周的外部留出一定的边距

android:layout_marginLeft: 指定控件的左边的外部留出一定的边距

android:layout_marginTop: 指定控件的上边的外部留出一定的边距

android:layout_marginRight: 指定控件的右边的外部留出一定的边距

android:layout_marginBottom: 指定控件的下边的外部留出一定的边距

Padding:设置组件内部元素间的边距(可以理解为填充)

android:padding :指定控件的四周的内部留出一定的边距

android:paddingLeft: 指定控件的左边的内部留出一定的边距

android:paddingTop: 指定控件的上边的内部留出一定的边距

android:paddingRight: 指定控件的右边的内部留出一定的边距

android:paddingBottom: 指定控件的下边的内部留出一定的边距

猜你喜欢

转载自blog.csdn.net/qq_38842722/article/details/80565370