线性布局、相对布局中的位置属性小结

相对布局和线性布局是用的最多的了,其中有一些属性是共有的,有的是各自独有的,有点绕,特此记录下

 

通用(但是在实际的场景中效果可能有区别)

id   height    width     这些肯定是都有的

 

layout_marginLeft     子控件相对于父控件的左边距,还有上下右 ,具体的数值 ,比如一个button相对于父控件的距离

paddingLeft                控件内文字距离控件左边距,  具体的数值  

gravity                         控件内的文本相对于这个控件的位置   

 

LinearLayout特有的

orientation:horizontal和vertical        相对布局无需设置布局方向,控件之间都是通过相对位置来排布的

layout_gravity                                控件的左右上下居中位置   这个属性必须显示定义父控件的orientation之后才生效,所以只有线性布局中起作用

layout_weight                                权重   后面详述

 

RelativeLayout  特有的(每一种只列出一个方向)

layout_alignParentRight            true/false            如果该值为true,则将该控件的右边与父控件的右边对齐,默认置于父窗口最右上,会覆盖最右上的控件

layout_alignRight          @id/....                               将该控件的右边缘与给定ID控件的右边缘对齐,并置于父窗口最上边,会覆盖最上边的控件

layout_centerHorizontal      true/false
layout_centerVertical
layout_centerInParent      

layout_above       @id/              将该控件的底部至于给定ID的控件之上,但不会左对齐,默认置于父窗口最左边,会覆盖最左边的控件 类似的还有below

layout_toLeftOf         @id/....           将该控件的右边缘和给定ID的控件的左边缘对齐,默认置于父窗口最上面,会覆盖最上面的控件

 

关于权重

 权重最基本的用法就是  对线性布局指定方向(水平或垂直)上剩余空间分配的一个规则,先把规定的大小占完,再来按比例分配剩余空间

特殊情况:

首先计算数值,所有控件加起来后可能超过屏幕大小了,这个时候剩余值就应该是负的,此时按权重分配,权重大的分得值比较大,但是负的,这个时候加上原来的值,反而变小


 权重有一个很有用的特点,在一些特殊应用场景,比如有两个控件,一个设置了权重,一个不设置权重,那么这个设置权重的控件会后加载渲染。      

比如,vertical

我们想给下面的控件设置一个高度,上面的充满剩余空间

那么下面的控件不设置权重,先从底部占一定高度,上面的控件给一个比较大的权重,就能填满剩余的空间。否则,是从上往下加载。

 

<EditText 
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:gravity="center"
         android:layout_weight="1"
         android:hint="@string/hello_world"/>
     <EditText 
         android:layout_height="wrap_content"
         android:layout_width="fill_parent"
         android:gravity="right"
         android:hint="@string/fruits"/>


这样子第一个EditText后加载,占满剩余屏幕


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值