网站后期运营方案步骤,c2c网站有哪些平台,网站建设需要资质么,高清图片素材哪里找一、概念 是当前节点宽高的上下界#xff08;最大值和最小值#xff09;。在 Layout 阶段#xff0c;当父节点测量子节点的时候会把 Contraints 往下传递#xff0c;好让子元素知道自己被允许的最大最小尺寸#xff0c;当所有子元素被测量完成后开始决定自身尺寸时#x… 
一、概念 是当前节点宽高的上下界最大值和最小值。在 Layout 阶段当父节点测量子节点的时候会把 Contraints 往下传递好让子元素知道自己被允许的最大最小尺寸当所有子元素被测量完成后开始决定自身尺寸时同样的需要考虑自身的父容器给出的约束。 1.1 类型 对宽高可以分别设置不同类型的约束。 有界的一个区间即包含最大值和最小值。无界的没有约束即0到无限大。固定的一个确切值即最大值最小值相等。 
二、Modifier 对 Contraints 的影响 .size()在遵守约束的前提下往传入值靠拢。值在区间就是该值低于最小值就是最小值超过最大值就是最大值。.requiredSize()就是要忽略约束使用自己的值。例如调用 .size(100dp) 后约束为 weight[100-100dp]、height[100-100dp]再调用 .requiredSize(50dp) 后约束为 weight[50-50dp]、height[50-50dp]。.width()、.height()相比用 size 同时设置宽高单独设置宽或高不影响对方。.sizeIn() 能更细粒度的控制约束。 .sizeIn(         minWidth  100dp,         maxWidth  200dp,         minHeight  10dp,         maxHeight  20dp ) .wrapContentSize()会把宽高约束的最小值重置为0。.fillMaxSize()会把宽高约束变为最大值。 
2.1 单次调用 父容器传入的 Contraints 为 weight[100-300dp]、height[100-200dp]  在约束范围内 调用 Modifier.size(150dp)约束变成 weight[150-150dp]、height[150-150dp] 继续向下传递此时该节点显示一个 150*150 的矩形。 小于约束范围 调用 Modifier.size(50dp)约束变成 weight[100-100dp]、height[100-100dp] 继续向下传递该节点显示一个 100*100 的矩形。 大于约束范围 调用 Modifier.size(400dp)约束变成 weight[300-300dp]、height[200-200dp] 继续向下传递该节点显示一个 300*200 的矩形。 
2.2 多次调用 
上方距离其实也解释了链式调用 .size() 为什么只有第一个生效因为第一个已经把约束变为最大值和最小值相等的固定值这样第二个无论传值更大或更小都会因为遵循 Contraints 的工作原理而无法再次改变。