Android动画慢内对话框
我做了几次测试(点击/手动测试),测试了Android动画慢内对话框,android,kotlin,android-animation,Android,Kotlin,Android Animation,我做了几次测试(点击/手动测试),测试了AnimatorSetplayther,或者ObjectAnimator在对话框(DialogFragment/AlertDialog)中的性能,并将速度与活动或片段中的裸充气布局中的AnimatorSet进行了比较。我在dialog(无论是DialogFragment还是AlertDialog)中制作动画的结论很慢,而且有问题 有人能证实吗 要重现问题,首先创建一个简单的布局文件: 我们可以将视图(view1、view2)替换为CustomView或
AnimatorSet
playther
,或者ObjectAnimator
在对话框(DialogFragment
/AlertDialog
)中的性能,并将速度与活动或片段中的裸充气布局中的AnimatorSet
进行了比较。我在dialog(无论是DialogFragment
还是AlertDialog
)中制作动画的结论很慢,而且有问题
有人能证实吗
要重现问题,首先创建一个简单的布局文件:
我们可以将视图(view1、view2)替换为CustomView
或ImageView
,或者添加一些布局约束以重新定位视图。我们也可以用LinearLayout
、RelativeLayout
等替换ConstraintLayout
。上述代码仅用于说明
在活动
或对话框片段
中,使用ObjectAnimator
和AnimatorSet
设置所有视图的动画:
//查找view1和view2并声明为变量值
// ....
val listOfView=listOf(视图1、视图2)
val animSet=AnimatorSet()
val animators=listOfView.map{
val animator=ObjectAnimator.offload(它“旋转”,0f,360f)
animator.duration=1000
animator.repeatCount=ObjectAnimator.INFINITE
animator.repeatMode=ObjectAnimator.RESTART
animator.interpolator=LinearInterpolator()
动画师
}
动画集。一起播放(动画师)
animSet.start()
我在这里使用kotlin,因为Android现在正式支持kotlin
我们将观察到,DialogFragment
中的动画有小故障,但活动/片段中的动画性能更好,速度更快。将持续时间增加到极限水平,如500或200,则对话框中的小故障将看起来更加微妙
有人能证实这个问题吗?这背后的解释和原因是什么?如果有办法提高对话框内动画的性能,如何实现