Android:相对布局RelativeLayout常用属性

                RelativeLayout中子控件常用属性:

1、相对于父控件,例如:android:layout_alignParentTop=“true”

        android:layout_alignParentTop      控件的顶部与父控件的顶部对齐;

        android:layout_alignParentBottom  控件的底部与父控件的底部对齐;

        android:layout_alignParentLeft      控件的左部与父控件的左部对齐;

        android:layout_alignParentRight     控件的右部与父控件的右部对齐;

2、相对给定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的右边缘对齐;

3、居中,例如:android:layout_centerInParent=“true”

        android:layout_centerHorizontal 水平居中;

        android:layout_centerVertical    垂直居中;

        android:layout_centerInParent  父控件的中央;

        通过上一篇文章,我们显示两个美女,我们针对的学习的对象是   RelativeLayout  这个控件,也就是相对布局这样的一个控件,我们用到了这个控件里面的部分属性,其实这个控件里面的属性是非常非常多的,我们测试一下

      

     

     所谓的相对父控件就是说,在一个屏幕里面显示两个美女其实有三个Layout,那父控件怎么看呢?

        这父亲里面有两个,右面下面的这两个都是最外层的RelativeLayout 的子控件,有两个子控件

     

    对于父控件,我们有         

        相对于父控件,例如:android:layout_alignParentTop=“true”

                android:layout_alignParentTop      控件的顶部与父控件的顶部对齐;

                android:layout_alignParentBottom  控件的底部与父控件的底部对齐;

                android:layout_alignParentLeft      控件的左部与父控件的左部对齐;

                android:layout_alignParentRight     控件的右部与父控件的右部对齐;

    

    我们重新copy一个工程

        

 现在我删掉一个美女,不让她和父控件大小对其

,有一个叫做     

                            android:layout_width="wrap_content"                

                           android:layout_height="wrap_content"

因为前两个意思一样,都是填充到父控件那么大

wrap_content:你图片有多大,我就显示多大

 现在代码如下

运行一下

发现图片有点大,我们弄小一点(截图然后,命名testpic)

 

 把弄好的名为testpic 图片,放到res 下面的drawable这里

 

修改一下代码        第12 行

 运行一下

默认情况下,他这个子控件,他会从父控件的左上角开始安排

      

 android:layout_alignParentTop      控件的顶部与父控件的顶部对齐;

android:layout_alignParentTop="true"       true就是确认对其这件事情

这句话写不写进去无所谓,因为她默认就是跟父控件的顶部对齐

运行一下,发现效果是一样的

 然后我们修改一下代码

android:layout_alignParentTop="true"        改成         android:layout_alignParentBottom="true"

 

 运行一下,跑到下面来啦,但是他左面还是顶着

 如果我想让他处于右下角呢?

加上一句        android:layout_alignParentRight="true"

 运行一下

 如果想跑到右上角呢?

 运行一下

 相对于父控件有四种,对于两个控件也是一样的

        

        

相对给定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_toRightOf="@id/girl1"

 

 预期结果

 

     再试试一个   

            android:layout_alignBaseline  控件的baseline与给定ID的baseline对齐;

 运行一下

这样的结果是遮盖住了

那如何能看出底部的效果呢?

加一句        android:layout_toRightOf="@id/girl1"

 

 运行一下

但是这个底部好像有点问题

Baseline没有对其

 那如果我们让左面的美女和右面的对其,她会不会下拉呢?

                 android:layout_alignBaseline="@id/girl1"
                 android:layout_toRightOf="@id/girl1"

这两句话去掉,让她左上角去顶

   然后给她来一个id

什么时候用@id ?什么时候用@+id?

        你给一个新控件添加id 的时候,这面有一个加号,

        你用的时候,用@,没有加号

girl 1的代码,相对于girl 2,所以girl 1的代码放在girl 2的下面

 运行一下

看来这个Baseline还是有点问题的

 我们把红头发的高度,宽度改一改

把图片改小点,图片太大,效果会被遮盖

 

运行一下

 

再修改一下

 运行一下

 我们再修改一下,

用 android:layout_alignBottom   控件的底部边缘与给定ID的底部边缘对齐;

 

运行一下 

 剩下的就是

                

居中,例如:android:layout_centerInParent=“true”

        android:layout_centerHorizontal 水平居中;

        android:layout_centerVertical    垂直居中;

        android:layout_centerInParent  父控件的中央;

      

    

  代码如下

 android:layout_centerHorizontal 水平居中;

 运行结果

 修改一下代码

  android:layout_centerVertical    垂直居中;

 android:layout_centerVertical="true"

 运行结果

 再修改一下代码

 android:layout_centerInParent  父控件的中央;

 运行结果

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值