android view组件中一些属性的疑问

1.

即android:gravity用于设置View中内容相对于View组件的对齐方式,而android:layout_gravity用于设置View组件相对于Container的对齐方式。

 

2

android:paddingLeft和android:layout_marginLeft区别:

当你在LinearLayout中分别设置 android:layout_marginLeft="52dip"和android:paddingLeft="52dip"的时候,也许你在及时显示界面看到的效果是一样的,但是这两个属性是有区别的,android:layout_marginLef是设置整个布局离左边的距离是52像素,而android:paddingLeft是设置布局里面的内容距离左边是52像素,这个是可以验证的哦,你对一个EditText来分别设置这两个属性,你会发现当设android:paddingTop="20dip"的时候在界面上跟本就没什么效果,但是输入内容就看出来

 

3

当android:layout_width="match_parent"的时候,如果设置了weight属性,那么根据它的weight值(可以理解为优先级)来占据空间,而且这个值是越小,占的空间越大,因此此时可以理解为优先级.

比如:按钮1和按钮2的width属性都是match_parent,如果按钮1的weight= 1 按钮2的为weight = 2  那么按照优先级 按钮1先占据,按钮2后占据. 大小比例为

按钮1 = 2/(1+2) ,按钮2 = 1/(1+2) 

如果按钮1的weight我们设置为1000,按钮2的weight设置为1 那么按钮2 几乎全部占据了所有空间!

总结:

要正确使用weight,不要再去纠结

android:layout_width="match_parent"

 android:layout_width="wrap_content" 两种情况下该如何设置weight.因为这样设置根本就是错误的用法.

正确的用法是:

先设置 android:layout_width="0dp" 或者android:layout_height="0dp"

然后再去调配权重

我们如果在某个方向上使用了weight ,那么我们必须在对应的方向上将width/heigh设置为0dp. 它告诉了我们设置为0dp是因为使用weight,系统是采用了另外一套计算占用空间大小的算法的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值