在Android Studio的ImageView上添加两个不同枢轴的旋转,可以通过使用属性动画来实现。属性动画可以对View对象的属性进行平滑的动画操作。
首先,需要在布局文件中定义一个ImageView,并设置其id为"imageView":
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/your_image" />
然后,在Java代码中获取ImageView对象,并创建两个ObjectAnimator对象来分别控制两个旋转动画:
ImageView imageView = findViewById(R.id.imageView);
// 第一个旋转动画,以中心点为枢轴,顺时针旋转360度
ObjectAnimator rotation1 = ObjectAnimator.ofFloat(imageView, "rotation", 0f, 360f);
rotation1.setDuration(1000); // 设置动画时长为1秒
rotation1.setRepeatCount(ObjectAnimator.INFINITE); // 设置无限循环
// 第二个旋转动画,以左上角为枢轴,逆时针旋转180度
ObjectAnimator rotation2 = ObjectAnimator.ofFloat(imageView, "rotationX", 0f, -180f);
rotation2.setDuration(500); // 设置动画时长为0.5秒
rotation2.setRepeatCount(ObjectAnimator.INFINITE); // 设置无限循环
// 创建动画集合,同时播放两个旋转动画
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playTogether(rotation1, rotation2);
animatorSet.start();
上述代码中,rotation1使用了"rotation"属性来控制旋转动画,rotation2使用了"rotationX"属性来控制旋转动画。你可以根据需要选择不同的属性来实现不同的旋转效果。
这样,ImageView就会同时进行两个不同枢轴的旋转动画。
领取专属 10元无门槛券
手把手带您无忧上云