layout_weight 不常用的用法
来源:互联网 发布:网络嗅探器用哪个好 编辑:程序博客网 时间:2024/06/06 16:29
SDK中说明的是,layout_weight表示额外空间怎么划分,要注意额外2字,要有额外的空间才可以按比例将其分配给设置了layout_weight的子View,所以,如果LinearLayout设置为WRAP_CONTENT的话是没有额外的空间的,layout_weight就没有用处,所只要layout_width不设置为WRAP_CONTENT就行,也可以设置为具体的值,如果值太小的话,额外空间为负,可能压缩子控件,使其大小比XML文件中定义的小
linearLayout中包含有weight的child时,linearLayout会measure两次:
设屏幕宽度为X
第一次:button1 的measuredWidth为X, button2也为X (因为用了weight,所以linearLayout每次measure child时不考虑前一个已经占用的大小),total_width为2X
第二次:计算delta=x-total_width=-x, 然后会将button1的宽度设为 x+delta*1/3=0.66x, button2的宽度为 x+delta*2/3=0.33x
android:layout_weight的真实含义是:一旦View设置了该属性(假设有效的情况下),那么该 View的宽度等于原有宽度(android:layout_width)加上剩余空间的占比!
设屏幕宽度为L,在两个view的宽度都为match_parent的情况下,原有宽度为L,两个的View的宽度都为L,那么剩余宽度为L-(L+L) = -L, 左边的View占比三分之一,所以总宽度是L+(-L)*1/3 = (2/3)L.事实上默认的View的weight这个值为0,一旦设置了这个值,那么所在view在绘制的时候执行onMeasure两次的原因就在这。
Google官方推荐,当使用weight属性时,将width设为0dip即可,效果跟设成wrap_content是一样的。这样weight就可以理解为占比了!
- layout_weight 不常用的用法
- android:layout_weight总有你不知道的用法.
- android:layout_weight总有你不知道的用法
- Android:layout_weight的用法
- android:layout_weight的用法
- android:layout_weight的用法
- layout_weight的简单用法
- #define的不常用用法
- 你所不知道的layout_weight
- 你可能不知道的layout_weight
- 关于layout_weight="1"的用法
- Android:layout_weight属性的两种用法
- Android之权重layout_weight的真正用法
- Android布局之layout_weight的用法
- 不常用的函数的用法
- Group By一个不常用的用法
- mysql 中一些不常用的用法
- Centos7一些常用命令的不常用用法
- 数论总结 - by yzq986
- 如何在Ubuntu/Linux中使用LiveReload+Sublime Text 3
- 三级缓存(内存、本地、网络)
- 如何创建xp虚拟机
- nyoj--1036--非洲小孩(区间相交问题)
- layout_weight 不常用的用法
- xcode快捷键
- 矩阵连乘问题 C语言实现
- 提交中的骂声:哪种编程语言最遭骂?
- 《动态规划》hdoj acm 3.2.4 最长有序子序列
- java中对类之间的继承和可调用性的摸索
- define后面的\表示什么?
- kiz挖矿赚钱是真的吗?kiz挖矿赚钱注册地址是多少?
- 48.Oracle数据库SQL开发之 子查询——编写单行子查询