播放动画期间运动布局冻结
Motion Layout freeze during play animation
我制作了一个简单的动画来显示 activity 何时开始。
这是我的动画:
问题出在模拟器上,有时动画可以正常播放,但有时会卡住,我必须重新打开应用程序。在我的 phone 上它总是冻结。
我所做的是制作了 2 个单独的布局,一个用于“开始”场景,另一个用于“结束”场景
在开始布局中,我增加了移动视图的左边距。以下代码属于我的动态图像。
开始XML文件中的移动视图之一:
.
.
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/metal_iv"
android:layout_width="300dp"
android:layout_height="match_parent"
android:layout_marginStart="400dp"
android:layout_marginBottom="@dimen/backgroundMarginRegisterActivity"
android:background="@drawable/background_gray"
android:elevation="-1dp"
android:scaleType="fitXY"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:shapeAppearanceOverlay="@style/OnlyOneCorner"/>
.
.
在 XML 结束布局中我减少了左边距:
android:layout_marginStart="40dp"
这是我的 scene.xml 文件:
<MotionScene
xmlns:motion="http://schemas.android.com/apk/res-auto">
<Transition
motion:constraintSetEnd="@layout/activity_end"
motion:constraintSetStart="@layout/activity_start"
motion:autoTransition="animateToEnd"
motion:duration="1000">
</Transition>
</MotionScene>
我不知道这是否相关,但开始和结束场景在设计视图中不显示 window。
我终于解决了这个问题。实际上此时约束依赖的最新版本是beta8。但是降级到这个版本解决了我的问题:
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta3'
我制作了一个简单的动画来显示 activity 何时开始。 这是我的动画:
问题出在模拟器上,有时动画可以正常播放,但有时会卡住,我必须重新打开应用程序。在我的 phone 上它总是冻结。
我所做的是制作了 2 个单独的布局,一个用于“开始”场景,另一个用于“结束”场景 在开始布局中,我增加了移动视图的左边距。以下代码属于我的动态图像。
开始XML文件中的移动视图之一:
.
.
<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/metal_iv"
android:layout_width="300dp"
android:layout_height="match_parent"
android:layout_marginStart="400dp"
android:layout_marginBottom="@dimen/backgroundMarginRegisterActivity"
android:background="@drawable/background_gray"
android:elevation="-1dp"
android:scaleType="fitXY"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:shapeAppearanceOverlay="@style/OnlyOneCorner"/>
.
.
在 XML 结束布局中我减少了左边距:
android:layout_marginStart="40dp"
这是我的 scene.xml 文件:
<MotionScene
xmlns:motion="http://schemas.android.com/apk/res-auto">
<Transition
motion:constraintSetEnd="@layout/activity_end"
motion:constraintSetStart="@layout/activity_start"
motion:autoTransition="animateToEnd"
motion:duration="1000">
</Transition>
</MotionScene>
我不知道这是否相关,但开始和结束场景在设计视图中不显示 window。
我终于解决了这个问题。实际上此时约束依赖的最新版本是beta8。但是降级到这个版本解决了我的问题:
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta3'