57 votes

Démarrer la scène de mouvement programmatiquement

J’ai une disposition de mouvement avec cette layoutDescription: ``

scène.xml

Je pense que le xml de et ```` n’est pas pertinent.

Comment puis-je appeler cette animation de façon programmatique ?

74voto

Pablo Cegarra Points 2374

Enfin Im faire ceci:

20voto

Nathany Attipoe Points 123

Vous pouvez également le faire dans votre xml avec

et

8voto

Cerulean.Source Points 71

Si quelqu’un fait cela à partir d’un fragment:

  1. importation:
  2. Instantiate MotionLayout:
  3. Transition vers la fin/début du mouvement :

ou

8voto

Ankit Dubey Points 162

Nous pouvons simplement faire comme ça motion_layout.transitionToEnd()

Mais sur l’activité a repris, Il va commencer notre animation si vite que nous pouvons manquer les quelques-uns ou l’ensemble de l’animation. donc je suggère d’ajouter un certain retard comme.

En outre, vous aurez besoin d’ajouter la dépendance Coroutines si elle n’est pas ajoutée.

mise en œuvre 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9'

2voto

Dishant Kawatra Points 344
In Latest Update of Constraint **2.0.0-beta1** Layout There are Public methods add in motion layout 
        you can get these methods with the help of motionlayout id 
    **motionLayout** 

     1. public void setProgress (float pos) 
     2. public void setTransition (int
           beginId,int endId)  
     3. public void setTransitionDuration (int
               milliseconds)  public void setTransitionListener
               (MotionLayout.TransitionListener listener)

     4. public void setState (int
               id,int screenWidth, 
                             int screenHeight)

     5. if(wantShowUi)
            {
                newUserActivityBinding.coordinatorLayout.transitionToStart();
            }
            else
            {
                newUserActivityBinding.coordinatorLayout.transitionToEnd();
            }

      <android.support.constraint.motion.MotionLayout
                xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:app="http://schemas.android.com/apk/res-auto"
                xmlns:tools="http://schemas.android.com/tools"
                android:id="@+id/motionLayout"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:layoutDescription="@xml/motion_scene_01"
                tools:showPaths="true">

            <View
                    android:id="@+id/button"
                    android:background="@color/colorAccent"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:soundEffectsEnabled="false"
                    tools:layout_editor_absoluteY="361dp"
                    tools:layout_editor_absoluteX="61dp"/>


        </android.support.constraint.motion.MotionLayout>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X