Android(安卓)Relative Layout 安卓相对布局详解
16lz
2022-03-23
思维导图可在幕布找到
1. 基础
如果在相对布局里,控件没有指明相对位置,则默认都是在相对布局的左上角:
gravity
gravity
属性用来设置容器内组件的对齐方式
效果为
2. 根据兄弟控件定位
2.1 相对兄弟组件的位置
android:layout_above:// 参考的兄弟控件上边android:layout_below:// 参考的兄弟控件下边android:layout_toLeftOf // 参考的兄弟控件的左边android:layout_toRightOf // 参考的兄弟控件右边
代码示例
android:layout_below
等属性通过制定控件的id
来选择需要参考的兄弟组件,即@id/firstText
:
显示的效果为
2.2 对齐相对组件
对齐兄弟相对组件的有四个属性,为android:layout_align${方向}
android:layout_alignTop // 对齐参考组件的上边界android:layout_alignBottom // 对齐参考组件的下边界android:layout_alignLeft // 对齐参考组件的左边界android:layout_alignRight // 对齐参考组件的右边界
android:layout_alignTop
等属性同样是通过制定控件的ID来设置参考的组件的边界线:
代码示例1
效果为
代码实例2
效果为
3. 根据父控件定位
3.1 与父控件的四个边缘对齐
与父控件的边缘对齐的属性由android:layout_alignParent${方向}
组成
android:layout_alignParentTop // 顶部对齐于父控件android:layout_alignParentBottom // 底部对齐于父控件android:layout_alignParentLeft // 左对齐于父控件android:layout_alignParentRight // 右对齐于父控件
需要注意的是,这些属性是通过布尔值来设置是否对齐于父控件的某个方向的:
效果为:
除此之外还有layout_alignParentLeft
、layout_alignParentTop
3.2 对齐至父控件的中央
对齐至父控件中央的属性可以用来设置居中的布局位置:
android:layout_centerHorizontal // 水平居中android:layout_centerVertical // 垂直居中android:layout_centerInParent // 水平且垂直居中,处于父组件的正中央位置
代码示例
同样,这些属性也是通过设置的值也是布尔类型:
效果为:
4. 其他
对齐至控件的基准线
如果没有使用对齐基准线,那么当Hello的字体的大于world时,world则无法和hello在同一基准线上:
通过给world的TextView添加layout_alignBaseline
属性来实现对齐firstText
控件的基准线:
android:layout_alignBaseline="@+id/firstText"
效果为:
5. 实例
用相对布局来完成经典的梅花布局
效果图为
参考资料
2.2.2 RelativeLayout(相对布局)
更多相关文章
- 【Android(安卓)初学】3、控件布局初步
- Android布局之相对布局——RelativeLayout
- 看Google官方的Android开发文档的一些收获
- Android(安卓)自学之列表选择框Spinner
- Android(安卓)初始化Setup Wizard——Provision
- 三款Android炫酷Loading动画组件推荐
- Android(安卓)ListView异步加载图片乱序问题,原因分析及解决方案
- android 弹出日期滑动选择框,日期滚动滑动选择
- Android(安卓)ListView组件中androiddrawSelectorOnTop含义