相对布局。约束方程解释
Posted
技术标签:
【中文标题】相对布局。约束方程解释【英文标题】:Relative layout. Constrain equation explanation 【发布时间】:2016-06-09 08:43:31 【问题描述】:阅读相对布局中的约束,我发现了以下内容:
在数学上,任何约束都可以用以下等式表示:
Y = 乘数 * X + 常数
X 和 Y 是视图的属性,可以是左、右、上、下、前导、尾随、宽度、高度、centerX、centerY 或基线。
有人能解释一下吗?
【问题讨论】:
【参考方案1】:我想在示例中解释效果最好,所以:
假设您有一些视图位于它的视图控制器中,因此它距左侧 10 个点。这意味着它的前导设置为 10。现在,这个视图有我们想要固定到它的左侧的子视图。所以我们设置了前导约束来匹配父前导。假设我们将此约束的常量设置为 0(无间隙)并且不修改乘数(默认为 1),则此视图的左侧位置设置为:
childLeading = parentLeading * 乘数 + 常数
即:
childLeading = 10 * 1 + 0 = 10
所以左侧的子视图与父视图的位置相同。
修改约束的常量,我们将子视图更向左移动 f.e.常量设置为 8 会导致:
childLeading = 10 * 1 + 8 = 18
因此,视图位于距其父级左边缘 8 点的位置。
我猜你可以在乘数的情况下遵循这个逻辑(它比常数使用得少得多)
【讨论】:
以上是关于相对布局。约束方程解释的主要内容,如果未能解决你的问题,请参考以下文章
Android-ConstraintLayout(约束布局)-Centering/Circular and with Bias了解一下