Android常用ViewGroup之RelativeLayout

简介

相对布局可以让子控件相对于兄弟控件或父控件进行布局,可以设置子控件相对于兄弟控件或父控件进行上下左右对齐。
RelativeLayout能替换一些嵌套视图,当我们用LinearLayout来实现一个简单的布局但又使用了过多的嵌套时,就可以考虑使用RelativeLayout重新布局,来优化视图层级嵌套。

重要属性

相对布局中使用的属性分为相对父控件位置、子控件间相对位置、子控件在父控件中居中三大类。

  • 相对父控件位置
android:layout_alignParentTop       取值布尔值,控件的顶部与父控件的顶部对齐
android:layout_alignParentBottom    取值布尔值,控件的底部与父控件的底部对齐
android:layout_alignParentLeft      取值布尔值,控件的左部与父控件的左部对齐
android:layout_alignParentRight     取值布尔值,控件的右部与父控件的右部对齐

  • 子控件间相对位置(指定控件id)
    例如:android:layout_above=“@id/**”
android:layout_above                控件的底部置于给定ID的控件之上
android:layout_below                控件的底部置于给定ID的控件之下
android:layout_toLeftOf             控件的右边缘与给定ID的控件左边缘对齐
android:layout_toRightOf            控件的左边缘与给定ID的控件右边缘对齐
android:layout_alignBaseline        控件的baseline与给定ID的baseline对齐
android:layout_alignTop             控件的顶部边缘与给定ID的顶部边缘对齐
android:layout_alignBottom          控件的底部边缘与给定ID的底部边缘对齐
android:layout_alignLeft            控件的左边缘与给定ID的左边缘对齐
android:layout_alignRight           控件的右边缘与给定ID的右边缘对齐
  • 子控件在父控件中居中
android:layout_centerHorizontal     取值布尔值,水平居中
android:layout_centerVertical       取值布尔值,垂直居中
android:layout_centerInParent       取值布尔值,父控件的中央

示例

  • 效果1


    效果1

xml布局




    

    

    

    

    


  • 效果2

这种效果相对布局很容易实现


效果2

xml布局




    

    


    

注意

相对布局id的引用问题

示例xml




    
        
   
            
    

上面的xml中ImageView希望在TextView的左边,但是ImageView写在了TextView的上面,引用了下面TextView的id,这个问题我最近遇到了,我的R文件无法生成一直报错,但是android studio没给提示,很头疼。这个问题在不同的环境上不一样,我在自己的电脑上运行没有任何问题,但是还是要注意,最好写在要引用id下面,防止被坑。

你可能感兴趣的:(Android常用ViewGroup之RelativeLayout)