如何在ConstraintLayout中使用ViewStub?

时间:2017-11-07 17:50:58

标签: android android-constraintlayout viewstub

似乎在ViewStub中夸大ConstraintLayout时,生成的视图已失去所有约束。我想我们可以使用ConstraintSet来定义膨胀视图的约束,但这种方法违背了ViewStub的目的。

有没有好办法呢?

1 个答案:

答案 0 :(得分:14)

这是一个简单的解决方案:

在ViewStub中

,将inflatedId属性与id

相同 像这样:

<ViewStub
    android:id="@+id/pocket_view"
    android:inflatedId="@+id/pocket_view"
    android:layout="@layout/game_pocket_view"
    android:layout_width="@dimen/game_pocket_max_width"
    android:layout_height="@dimen/game_pocket_max_height"
    app:layout_constraintLeft_toLeftOf="@id/avatar_view"
    app:layout_constraintRight_toRightOf="@id/avatar_view"
    app:layout_constraintTop_toTopOf="@id/avatar_view"
    app:layout_constraintBottom_toBottomOf="@id/avatar_view"
    />