Android布局学习(二)——相对布局RelativeLayout

代码接着上文:《Android布局学习(一)——线性布局LinearLayout》继续编写。

相对布局RelativeLayout通过相对定位的方式让空间出现在布局的任意位置,其中要学的属性有很多。

一、需要知道的九个属性

1、基于父控件定位

修改布局

  • layout_alignParentLeft
  • layout_alignParentRight
  • layout_alignParentTop
  • layout_alignParentBottom
  • layout_centerInParent
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">
    
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button 1"
        
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        />
    
    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button 2"
        
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        />
    
    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button 3"
        
        android:layout_centerInParent="true"
        />
    
    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button 4"
        
        android:layout_alignParentLeft="true"
        android:layout_alignParentBottom="true"
        />
    
    <Button
        android:id="@+id/button5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button 5"
        
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"
        />

</RelativeLayout>

其实看代码很简单,左上、右上、中、左下、右下
在这里插入图片描述

2、基于其他控件定位

  • layout_toLeftOf
  • layout_toRightOf
  • layout_above
  • layout_below
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button 3"

        android:layout_centerInParent="true"
        />
    
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button 1"

        android:layout_above="@+id/button3"
        android:layout_toLeftOf="@+id/button3"
        />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button 2"

        android:layout_above="@id/button3"
        android:layout_toRightOf="@+id/button3"
        />
    
    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button 4"

        android:layout_below="@+id/button3"
        android:layout_toLeftOf="@+id/button3"
        />

    <Button
        android:id="@+id/button5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="button 5"

        android:layout_below="@+id/button3"
        android:layout_toRightOf="@+id/button3"
        />

</RelativeLayout>

其中,一个控件引用另外一个控件时,尽量将该控件定义在要引用控件之后,不然会找到找不到id的情况(尽管我测试能找到)

发布了156 篇原创文章 · 获赞 13 · 访问量 7240

猜你喜欢

转载自blog.csdn.net/qq_41205771/article/details/103915084