Android RecyclerView的旋转和平移动画不同时运行

Android RecyclerView的旋转和平移动画不同时运行,android,animation,android-recyclerview,Android,Animation,Android Recyclerview,我正在为我的RecyclerView中的小部件添加一些动画。我希望图像从屏幕左侧开始,并在旋转时将其转换到右侧。如果我尝试自己翻译动画,效果会很好。如果我尝试自己做旋转动画,效果会很好。如果我试图同时运行它们,看起来一点都不对劲。图像在平移时遵循曲线路径。我认为它可能试图围绕翻译结束的位置旋转,但这很难说。我使用了一个AnimationSet来尝试让它工作,因为将两个动画放在一个XML中不起作用,但它没有帮助 translation_to_right.xml <?xml version=&

我正在为我的RecyclerView中的小部件添加一些动画。我希望图像从屏幕左侧开始,并在旋转时将其转换到右侧。如果我尝试自己翻译动画,效果会很好。如果我尝试自己做旋转动画,效果会很好。如果我试图同时运行它们,看起来一点都不对劲。图像在平移时遵循曲线路径。我认为它可能试图围绕翻译结束的位置旋转,但这很难说。我使用了一个AnimationSet来尝试让它工作,因为将两个动画放在一个XML中不起作用,但它没有帮助

translation_to_right.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
    android:fromXDelta="-100%"
    android:toXDelta="0%"
    android:duration="3000"
    android:interpolator="@android:interpolator/accelerate_decelerate"/>
    />
</set>

您可以将
视图
放入周围的
视图组
,例如
框架布局
,使其即使在旋转时也能装入内部。然后将旋转应用于
视图
,将平移应用于
框架布局

rotate.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <rotate
        android:fromDegrees="0"
        android:toDegrees="360"
        android:pivotX="50%"
        android:pivotY="50%"
        android:duration="3000"
    />
</set>
  @Override
    public void onBindViewHolder(@NonNull RecyclerViewHolder holder, int position) {

        Animation translateRight = AnimationUtils.loadAnimation(parentContext, R.anim.translation_to_right);
        Animation rotate = AnimationUtils.loadAnimation(parentContext, R.anim.rotate);
        AnimationSet animationSet = new AnimationSet(false);
        animationSet.addAnimation(translateRight);
        animationSet.addAnimation(rotate);
        holder.imageView.startAnimation(animationSet);
...