layout_width和width有什么区别


我们在写布局文件的时候,声明控件的时候layout_width和layout_height是控件必须的属性。其实控件还有一个width属性,只不过我们一般不需要设置它。虽然我们不常用,但是我们也有必要去了解它。那么这两者之间究竟有什么区别呢,我记得原来看过网上的一些说法说layout_width只可以设置成wrap_content和match_parent,而width的单位只能设置成具体的 px。我想说还能错的再离谱一点吗,首先layout_width也支持具体数值,width也支持各种单位dp、px、甚至sp。首先我们应该知道一个控件的大小并不是由它自己本身来决定的,而是由父布局和它自身一起来决定的。而layout_width就是父布局允许view所占的宽度,而width是view的自身宽度。在layout_width和width都设置为具体数值的时候,width其实就无效了,这也不难理解,父布局已经给你分配了具体的空间,不论view怎么设置width,view的宽度也只能是layout_width.那么什么情况下,width也会起作用呢。当我们把layout_width设置成wrap_content的时候,父布局的意思是包裹view,view有多大就分配多大的空间给它,这时候view的宽度就取决于width,假如不设置width,那么系统就会根据view的内容来自行测量大小。layout_height和height是一样的。具体效果,可以写布局文件自己试一下,同时建议大家也试一下minWidth maxWidth这些属性,可以更好的帮助我们理解布局文件的原理。
  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值