布局和控件的关系

LinearLayout

属性 释义 样例
orientation 指定了排列方向 vertical,horizontal
layout_gravity 控制控件的对齐方式
layout_weight 指定控件的大小

一般会将layout_width指定为0dp,这是一种标准的写法

layout_weight的计算方式
系统会先把LinearLayout下所有控件指定的layout_weight值相加,得到一个总值,
然后每个控件所占大小的比例就是用该控件的layout_weight值除以刚才算出的总值。因此如
果想让EditText占据屏幕宽度的3/5,Button占据屏幕宽度的2/5,只需要将EditText的layout_ weight改成3,Button的layout_weight改成2就可以了。

RelativeLayout

相对布局

1
2
3
4
5
6
7
<Button
android:id="@+id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="Button 5" />

大致内容即上,用来描述与父容器的相对位置关系
layout_above
layout_below
layout_toLeftOf
layout_toRightOf
相对其他控件,进行位置的比较
layout_alignLeft
layout_alignRight
layout_alignTop
layout_alignBottom
也是相对于其他控件,但是他是边缘进行对齐

FrameLayout

帧布局
它的应用场景比较少。这种布局没有丰富的定位方式,所有的控件都会默认摆放在布局的左上角。
而且他可以控件之间相互覆盖,压在其他控件上