Как программно добавить ограничения в ConstraintSet в MotionScene (MotionLayout)?

Я добавляю ImageViews динамически в MotionLayout.
Каждый ImageView, который я динамически добавляю, имеет уникальный идентификатор (почему? Продолжайте читать), поэтому мне нужно предварительно определить все идентификаторы (ids.xml), а затем программно назначить их Идентификаторы ImageView.
Поскольку динамически добавленные ImageView не изменяются MotionLayout, а находятся внутри него, во избежание проблем мне нужно игнорировать каждый из них, выполнив следующие действия с уникальным идентификатором.

    <ConstraintSet android:id="@+id/base_constraintset">
    <Constraint android:id="@+id/testId001">
       <PropertySet
           app:applyMotionScene="false"
           app:visibilityMode="ignore" />
    </Constraint>
    <!-- Follows additional 30 similar constraints (only different Id) -->
    </ConstraintSet>

Подробнее об этом здесь (https://stackoverflow.com/a/60303082/14230540)

Если то, о чем я прошу, возможно, это сэкономит много почти идентичных строк кода и будет работать.
Это меня спасет:

  1. Определение всех идентификаторов в ids.xml
  2. Назначение каждого из этих идентификаторов каждому из ImageView.
  3. Добавление всех вышеуказанных ограничений в MotionScene.

person MatJB    schedule 08.10.2020    source источник