小编wal*_*lli的帖子

Android MotionLayout autoTransition 在 beta7 中不起作用

我想在我的片段显示时自动启动动画。我已将该autoTransition属性设置为animateToEnd,但没有任何反应。我目前在constraintLayout beta7。当降级到 beta6 或更低版本时,除了片段进入屏幕时动画完成之外,什么也不会发生。我已经将 TransitionListener 附加到 MotionLayout 并观察到以下内容:

  • beta7 OnTransitionChange 被调用一次,进度值如此之低,我将其称为 0,OnTransitionEnd 从未被调用,并且我的 TextView 保持不可见
  • beta6或更低版本上OnTransitionChange 被调用两次,第一次使用 0 到 0.5 之间相当随机的进度值,第二次使用 1.0。之后,调用 OnTransitionEnd 并且我的 TextView 立即可见,那里没有动画。

这是 MotionScene xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<MotionScene xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:motion="http://schemas.android.com/apk/res-auto">

    <Transition
        motion:constraintSetEnd="@+id/end"
        motion:constraintSetStart="@id/start"
        motion:duration="1000"
        motion:motionInterpolator="easeInOut"
        motion:autoTransition="animateToEnd">
    </Transition>

    <ConstraintSet android:id="@+id/start">
        <Constraint android:id="@id/splash_head_TextView">
            <Layout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                motion:layout_constraintEnd_toEndOf="parent"
                motion:layout_constraintStart_toStartOf="parent"
                motion:layout_constraintTop_toTopOf="@id/topGuideLine"/>
            <CustomAttribute
                motion:attributeName="alpha"
                motion:customFloatValue="0.0" />
        </Constraint>

    </ConstraintSet>

    <ConstraintSet android:id="@+id/end">
        <Constraint android:id="@id/splash_head_TextView">
            <Layout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/splash_head"
                motion:layout_constraintEnd_toEndOf="parent"
                motion:layout_constraintStart_toStartOf="parent"
                motion:layout_constraintTop_toTopOf="@id/topGuideLine"/>
            <CustomAttribute
                motion:attributeName="alpha" …
Run Code Online (Sandbox Code Playgroud)

xml android android-animation android-layout android-motionlayout

5
推荐指数
1
解决办法
1207
查看次数