layout_ 相关属性的说明,layout_weight详解,weight _sum特别提示
1、有无layout_开头的属性的区别
layout_开头的布局参数是交给父容器计算的,没有layout_开头的布局参数由空间本身去进行处理
*例如:***layout_gravity和gravity的区别:
layout_gravity是相对于父控件而言的,而gravity是相对于自己本身而言。
2、Linearlayout的布局宽度的分配
Linearlayout的布局宽度优先于layout_weight
尺寸计算,先按照空间申明的尺寸进行分配,然后再将剩余的尺寸分配给wieght
LinearLaout中的layout_weight属性会首先按控件声明的尺寸进行分配,然后降剩下的尺寸按weight分配,控件宽度+父控件剩余宽度*比例
结论:
空间宽度+父控件剩余宽度*比例
剩余尺寸=父布局尺寸-子布局总尺寸
控件宽度+剩余尺寸乘以比例
备注:
layout_weight先按照空间声明分配,然后按weight分配 剩余的可以是负数
layout_weight 某个控件text多行,第一行对齐,baselineAligned = “false” 可使控件对齐
match_parent + layout_weight
问题原因:TextView在LinearLayout中会参考父类的baseline基线
解决方法:android:baselineAligned=”false”
3、特别的【weight_sum】
在父控件中声明属性:weight_sum