Android常用布局(FrameLayout、LinearLayout、RelativeLayout)详解

2019-12-10 17:57:58王旭

先分析代码,可以看到每一个View都被设置了一个id值,分别为red,black,green,gray和orange。然后通过代码,可以看出black位于red的右边和下面,green位于black的下面并且右对齐其父元素(即RelativeLayout),gray居中对齐父元素(即RelativeLayout), orange位于green的右边同时位于gray的下面,运行结果如图所示:

Android,布局

在此在归纳一下RelativeLayout中,与布局相关的属性:

android:layout_below:位于指定元素的下方
android:layout_above:位于指定元素的上方
android:layout_toLeftOf:位于指定元素的左侧
android:layout_toRightOf:位于指定元素的右侧
android:layout_centerVertical:垂直居中对齐父元素
android:layout_centerHorizontal:水平居中对齐父元素
android:layout_centerInParent:居中对齐父元素
android:layout_alignParentRight:与父元素右对齐
android:layout_alignParentLeft:与父元素左对齐
android:layout_alignParentTop:与父元素上对齐
android:layout_alignParentBottom:与父元素下对齐
android:layout_alignRight:与指定元素右对齐
android:layout_alignLeft:与指定元素左对齐
android:layout_alignTop:与指定元素上对齐
android:layout_alignBottom:与指定元素下对齐
从Android 4.2开始,也就是从API Level 17开始,Android增强了RelativeLayout,使其能够更好的应对并本地化这一需求,比如在有的国家,文字是从右往左阅读,这也就是所说的RTL。为了应对RTL,RelativeLayout又增加了以下属性:

android:layout_alignStart:与指定元素的开始位置对齐
android:layout_toStartOf:位于指定元素的开始侧
android:layout_alignParentStart:与父元素与开始侧对齐
android:layout_alignEnd:与指定元素的结束始位置对齐
android:layout_toEndOf:位于指定元素的结束侧
android:layout_alignParentEnd:与指定元素的结束位置对齐
这里的开始和结束我们可以做如下理解:

开始:在从左到右阅读习惯的国家,开始侧等于左侧,toStartOf的显示效果就等于toLeftOf。但是在从右往左阅读习惯的国家,那么开始侧就变成了右侧,toStartOf的显示效果就等于了toRightOf。
结束:同上面对开始的理解一样,结束侧在从左到右阅读习惯的国家就是右侧,反之则在左侧。