Изменение сцены при движении

#java #android

Вопрос:

У меня есть подвижность. И несколько сцен, например 1, 3 и 4. Как я могу выбрать их с помощью кода, например, переключаясь во время работы?

 app:layoutDescription="@xml/game_start_xml_colo_scene2"
 
        <androidx.constraintlayout.motion.widget.MotionLayout
        android:id="@ id/Colo"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@ id/chars_layout"
        android:layout_below="@ id/topLayout"
        android:layout_centerHorizontal="true"
        android:layout_marginStart="10dp"
        android:layout_marginEnd="10dp"
        android:background="@drawable/main_game_board"
        app:layoutDescription="@xml/game_start_xml_colo_scene2">
 

Ответ №1:

Вы можете установить их во время накачки подвижного слоя. Это было использовано для выбора сцены на основе доступных ландшафтных/портретных вычислений и т. Д.

После того, как индикатор движения поднят (после onAttachToWindow), изменение экрана движения не поддерживается. (Но это может быть возможно).

Во время onAttachToWindow MotionLayout строит машину состояний с графиками переходов и наборами ограничений, текущим перемещением, прогрессом, часами для временных циклов и т.д. Если движение достаточно простое, это может быть возможно.

Но вам не следует этого делать. MotionScene может содержать любое количество переходов и наборов ограничений. Наборы ограничений могут быть помещены в отдельные файлы(в 2.1). Вы можете программно добавлять или изменять переходы и наборы ограничений во время выполнения.

Все сказанное выше-это функция, которая будет поддерживаться в версии 3.0.