Android中LinearLayout中权重的算法<深入理解>

    xiaoxiao2021-03-25  76

    权重(layout_weight):即为当前线性布局指定方向(水平、竖直)上剩余空间的一个分配规则。

    例:如水平方向上的线性布局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)

    情况一:当L中内部子控件(A,B)的宽度之和大于L的总宽度时,即(width_l-width_a-width_b)<0时,weight_a/(weight_a+weight_b)比例的值越大,当前控件所占空间越小。

    情况二:当L中内部子控件(A,B)的宽度之和小于L的总宽度时,即(width_l-width_a-width_b)>0时,weight_a/(weight_a+weight_b)比例的值越大,当前控件所占空间越大。

    虽然大家一般都是通用案例一那种分配,但是真真切切的了解一个属性、一个控件,收获还是满满的。希望对你们有帮助 :)

    (转载来自: http://blog.csdn.net/itermeng/article/details/52159997)大家可以详细的去看一看
    转载请注明原文地址: https://ju.6miu.com/read-34563.html

    最新回复(0)