在RelativeLayout中,为什么以下约束会导致异常?

时间:2018-03-17 02:52:45

标签: xamarin xamarin.forms

我有一个有两个视图的RelativeLayout(称为A和B)。我的代码隐藏中的以下约束抛出异常“指定的约束包含一个无法解析的循环。”

RelativeLayout.SetYConstraint(A,
    Constraint.RelativeToView(B, (layout, view) => view.Height / 2.0));

RelativeLayout.SetXConstraint(B,
    Constraint.RelativeToView(A, (layout, view) => view.Width + 5));

我意识到问题可能是由于两个约束中A和B的交叉引用。但考虑到我根据宽度和高度设置X和Y约束,这是一个问题没有意义,这不应该取决于X和Y值。

1 个答案:

答案 0 :(得分:0)

视图的所有布局参数都取决于RelativeLayout的布局过程。在布置Relativelayout的孩子时,他们不会检查具体的约束情况。而不是他们检查与哪个视图相关的视图。由于视图之间的交叉引用,您将获得内部为未解决的孩子抛出的异常。

我的建议是根据他们当前的RelativeLayout架构,你想要达到的目标是不可能的。