Android布局之相對布局——RelativeLayout


此博文主要是相對布局xml屬性的解析及實例。

android:layout_above:此控件底部的邊緣位於設定ID控件的上方

    <Button
        android:id="@+id/btn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="hello "
        android:layout_above="@+id/btn2" />    //<<<<------
    <Button
        android:id="@+id/btn2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="world"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

顯示結果:

    

android:layout_below:此控件頂部的邊緣位於設定ID控件的下方

    <Button
        android:id="@+id/btn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="hello " />
    <Button
        android:id="@+id/btn2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="world"
        android:layout_below="@+id/btn1"    //<<<<<<-------
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

顯示結果:

android:layout_alignBaseline:將此控件內容的基線與給定ID控件內容的基線對齊。

    <Button
        android:id="@+id/btn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="hello " 
        />
    <Button
        android:id="@+id/btn2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="world"
        android:layout_alignBaseline="@+id/btn1"  //<<<<<------
        android:textSize="56sp"
        android:layout_toRightOf="@+id/btn1"

此屬性沒加時顯示效果:                

     

此屬性加了之后的顯示效果(此示例會超出布局,具體情況請自己多加練習):

   

android:layout_alignBottom:將此控件的底部邊緣與給定ID的控件底部邊緣對齊。

    <Button
        android:id="@+id/btn1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="hello "
        />
    <Button
        android:id="@+id/btn2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="world"
        android:textSize="34sp"
     android:layout_alignBottom="@+id/btn1"    //<<<<----
     android:layout_toRightOf="@+id/btn1" />

此屬性沒加時顯示效果:

添加后顯示的效果:

android:layout_alignEnd:將此控件與給定ID控件的末端對齊。以下的例子,很容易懂

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/button"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New"
        android:id="@+id/button2"
        android:layout_alignEnd="@+id/button"    //<<<<<--------
        android:layout_below="@+id/button" />

此屬性未添加時的顯示結果:

 

當添加此屬性時的顯示結果:

 

android:layout_alignLeft:將此控件的左邊緣與給定ID控件的左邊緣對齊

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/button"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New"
        android:id="@+id/button2"
        android:layout_alignLeft="@+id/button"    //<<<<<------
        android:layout_below="@+id/button" />

未添加此屬性時顯示效果:

添加此屬性之后顯示效果:

android:layout_alignParentBottom:如果設置為true,那么就將此控件的底部邊緣與父容器的底部邊緣匹配。

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/button"
        android:layout_alignParentBottom="true" />    //<<<<<------

未添加此屬性顯示效果:

添加后:

android:layout_alignParentEnd:如果設置為true,那么此控件的末邊緣與父容器匹配

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/button"
        android:layout_alignParentEnd="true" />    //<<<<<<-------

未加此屬性之前:

加了之后:

android:layout_alignParentLeft:如果設置為true,那么此控件的左邊緣與父容器的左邊緣匹配。這個屬性可以用到的時候再用,這里可以參考layout_alignParentBottom屬性,只是這個在左部而已。

android:layout_alignParentRight:如果設置為true,那么此控件的右邊緣與父容器的右邊緣匹配。此屬性效果和 android:layout_alignParentEnd 屬性效果差不多,顯示效果參照 android:layout_alignParentEnd 的圖

android:layout_alignParentStart:如果設置為true,那么此控件的開始邊緣與父容器的開始邊緣匹配。這個屬性和android:layout_alignParentEnd 屬性應該有別的用法,雖然在此例子中與left和right那兩個屬性顯示效果差不多一樣......

android:layout_alignParentTop:如果設置為true,那么此控件的頂部邊緣與父容器的頂部邊緣匹配。與layout_alignParentBottom相對。

android:layout_alignRight:將此控件的右邊緣與給定ID控件的右邊緣對齊。

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/button"
        android:layout_alignParentStart="true" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="hello"
        android:layout_below="@+id/button"
        android:layout_alignRight="@+id/button"/>    //<<<<<------

未添加此屬性時顯示的效果:

添加后:

android:layout_alignStart:將此控件的開始邊緣與給定ID控件的開始邊緣對齊。和android:layout_alignLeft作用差不多感覺。

android:layout_alignTop:將此控件的頂部邊緣與給定ID控件的頂部邊緣對齊。

android:layout_toEndof:將此控件的開始邊緣與給定ID控件的結束邊緣對齊。

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/button"
        android:layout_alignParentStart="true" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="hello"
        android:layout_below="@+id/button"
        android:layout_toEndOf="@+id/button" />    //<<<<<<-----

未添加此屬性時顯示效果:

添加后顯示效果:

android:layout_toLeftof:將此控件的右邊緣與給定ID控件的左邊緣對齊。

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/button"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="hello"
        android:layout_below="@+id/button"
        android:layout_toLeftOf="@+id/button"/>    //<<<<<<------

未添加此屬性時顯示結果:

添加后顯示結果:

android:layout_toRightof:將此控件的左邊緣與給定ID控件的右邊緣對齊。

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/button"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="hello"
        android:layout_below="@+id/button"
        android:layout_toRightOf="@+id/button" />    //<<<<<<<-------

未添加顯示效果:

添加后顯示效果:

android:layout_toStartof:將此控件的末邊緣與給定ID控件的開始邊緣對齊。和android:layout_toLeftof屬性的顯示效果一樣。

android:layout_centerHorizontal:如果設置為true,此控件將設置為水平居中

在這一條綠線上都是范圍

android:layout_centerVertical:如果設置為true,此控件將設置為垂直居中

android:layout_centerInParent:如果設置為true,則此控件在他的父容器的中心位置。

android:layout_alignWithParentIfMissing:如果設置為true,當控件的 layout_toLeftOf、layout_toRightOf、等等 屬性找不到時,就以父元素作為參考。

------------------------------------------------------------------------

android:padding:指定控件中的內容與到此控件的四邊緣的距離

android:layout_margin:設置此控件的四邊緣與其他控件的距離

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:textSize="36sp"
        android:id="@+id/button"
        android:background="@android:color/holo_green_dark"
        android:layout_alignParentTop="true" android:padding="50dp"                //<<<<<<-------
        android:layout_alignParentStart="true" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/button2"
        android:textSize="36sp"
        android:background="@android:color/holo_green_dark" android:layout_margin="20dip"            //<<<<<<--------
        android:layout_below="@+id/button" />

顯示效果:

android:paddingBottom:設置控件內容與控件下邊緣的距離

android:paddingTop:設置控件內容與控件上邊緣的距離

android:paddingLeft:設置控件內容與控件左邊緣的距離

android:paddingRight:設置控件內容與控件右邊緣的距離

android:layout_marginBottom:設置此控件的下邊緣與其他控件的距離

android:layout_marginTop:設置此控件的上邊緣與其他控件的距離

android:layout_marginLeft:設置此控件的左邊緣與其他控件的距離

android:layout_marginRight:設置此控件的右邊緣與其他控件的距離

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM