Android布局权重是怎样的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android布局权重是怎样的相关的知识,希望对你有一定的参考价值。
参考技术A 1. 分配规则【最后控件的宽度 = 控件本身宽度 + 权重比例分配宽度 】
2. 计算步骤
第一步 【计算剩余空间值】:将屏幕宽度(或高度)减去该水平(或竖直)排列之间所有控件的宽度(或高度),得出剩余空间值。
第二步 【权重比例分配剩余空间值】:根据你所设置的权重值,按照比例分配给控件(剩余空间值为负数也照样分配)。
3. 套用公式
例:如水平方向上的线性布局LinearLayout控件L中,包含两个水平占用空间的控件A,B。
L控件:L控件宽度layout_width = width_l A控件:a控件宽度layout_width = width_a a控件权重layout_weight = weight_a
B控件:b控件宽度layout_width = width_b b控件权重layout_weight = weight_b
L中子控件最终占用宽度 = 原有宽度(width_a)+剩余空间分配量A所占宽度 = width_a + (width_l-width_a-width_b)*weight_a/(weight_a+weight_b)
B所占宽度 = width_b + (width_l-width_a-width_b)*weight_b/(weight_a+weight_b)
android布局中高为0dp 权重为1是啥意思
参考技术A比如说有一个linearlayout他的高度是100
a控件weight=1 b控件weight=2,c控件weight=3,d控件height=40,那么
a控件的高度就是 ((100-40)/(1+2+3)) *1
b控件的高度就是 ((100-40)/(1+2+3)) *2
c控件的高度就是 ((100-40)/(1+2+3)) *3
如果a不设置height=0dp,那么当a控件高度大于((100-40)/(1+2+3)) *1时,weight属性不起作用,设置等于0,那么weight属性什么时候都起作用。
在学安卓过程中,一直想找一款应用能够展示各个章节的知识点,并且提供demo例子,就像谷歌Android API Demo一样,google api demo例子太老了,都是外文,例子也不够丰富,还不能看源码,也没有文档。于是把自己学习安卓过程中的用到例子都整合在了一起,并把例子都写在了android学习手册中,希望想学安卓的java同胞们,能有一个好的例子参考,快速学习安卓,少走弯路。android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行,源码采用android studio目录结构,高亮显示代码,不需要积分,文档都采用文档结构图显示,可以快速定位,度娘不让发链接,360手机助手中可下载。下面是android学习手册中,关于权重的演示。
以上是关于Android布局权重是怎样的的主要内容,如果未能解决你的问题,请参考以下文章