RelativeLayout的理解

 1.和父元素对齐属性: (参数值为true

 

android:layout_centerHrizontal         水平居中 

android:layout_centerVertical           垂直居中 

android:layout_centerInparent         相对于父元素完全居中 

android:layout_alignParentBottom     与父元素的下边缘对齐 

android:layout_alignParentLeft         与父元素的左边缘对齐 

android:layout_alignParentRight        与父元素的右边缘对齐 

android:layout_alignParentTop          与父元素的上边缘对齐 

android:layout_alignWithParentIfMissing    如果对应的兄弟元素找不到的话就以父元素做参照物 

2.和相对元素对齐属性: (参数值为某元素的id

 

android:layout_below      在某元素的下方 

android:layout_above      在某元素的的上方 

android:layout_toLeftOf   在某元素的左边 

android:layout_toRightOf  在某元素的右边 

android:layout_alignTop   本元素的上边缘和指定ID控件的上边缘对齐 

android:layout_alignLeft  本元素的左边缘和指定ID控件的左边缘对齐 

android:layout_alignBottom 本元素的下边缘和指定ID控件的下边缘对齐 

android:layout_alignRight  本元素的右边缘和指定ID控件的右边缘对齐

3.间距属性: (参数值为具体数字)

 

android:layout_marginBottom              离某元素底边缘的距离 

android:layout_marginLeft                  离某元素左边缘的距离 

android:layout_marginRight                 离某元素右边缘的距离 

android:layout_marginTop                   离某元素上边缘的距离 

4.实际例子

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:background="#000000"

    android:focusable="true"

    android:focusableInTouchMode="true"

    android:padding="20dp" >

 

    <TextView

        android:id="@+id/tv1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="Hello World!"

        android:textColor="#ffff00" />

 

    <EditText

        android:layout_marginTop="20dp"

        android:id="@+id/et1"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:layout_below="@id/tv1" />

 

    <Button

        android:layout_below="@id/et1"

        android:layout_alignLeft="@id/et1"

        android:id="@+id/bt1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="ok" />

 

    <Button

        android:layout_below="@id/et1"

        android:layout_toRightOf="@id/bt1"

        android:id="@+id/bt2"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="cancle" />

 

    <Button

        android:layout_below="@id/et1"

        android:layout_toRightOf="@id/bt2"

        android:id="@+id/bt3"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="check" />

 

</RelativeLayout>

效果图


注意:当要设置子控件的相对位置时,要注意先设置的哪一个,后面的都要在先设置的子控件后面设置。比如,本例中的3个按钮顺序,先设置的ok按钮,那么后面设置的按钮在xml文件中必须在okButton按钮之后,正如上面代码顺序一样,否则要报错运行不起。

5.android:padding和android:margin的区别

padding是站在父view的角度描述问题,它规定它里面的内容与这个父view边界(上下左右)的距离。

没有设置padding时的效果图


设置了padding的效果图(注意上下左右都离父控件20dp)


margin则是站在自己的角度描述问题,规定自己和其他(上下左右)的view之间的距离,如果同一级只有一个view,那么它的效果基本上就和padding一样。










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值