约束2个视图时,ConstraintLayout怪异的属性行为

时间:2019-04-05 13:12:40

标签: android android-constraintlayout

假设我想使用app:layout_constraintTop_toTopOf(可以是任何其他约束)将一个视图连接到另一个视图。

如果我将通过XML显示手动进行操作,则将如下所示:

 app:layout_constraintTop_toTopOf="@id/something"

但是-如果我将对设计选项(而不是XML选项)做同一件事,我将获得额外的+(自动生成)字符由于某种原因,它看起来像这样:

  //notice the extra + in @+id
  app:layout_constraintTop_toTopOf="@+id/something"`

现在有趣的是,该应用程序可以在带有或不带有+字符的情况下运行。

所以-看起来我在引用其他视图时确实不需要多余的+字符,我的问题是为什么正在发生,并且如何我可以防止android工作室布局编辑器中添加此+。

1 个答案:

答案 0 :(得分:2)

仅在xml中第一次提及ID时才需要+ id。

每次以后都要带有+还是很有用的,以防将来要对xml重新排序。

我对此不会太担心。进行+ id操作可能会大大降低构建时性能。 (看看您是否可以衡量差异。我怀疑您可以。)