我想在Android上以缓慢的方式旋转图像。 我可以通过创建一个位图来实现这一点 Matrix类的帮助。但我不知道如何让它变慢,就像旋转需要3秒钟一样。
答案 0 :(得分:1)
<强>旋转强>
旋转动画使用标记。对于旋转动画,所需标签为android:fromDegrees
和android:toDegrees
,用于定义旋转角度。
时钟明智 - 使用积极的toDegrees值
反时钟 - 使用负值toDegrees值
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="600"
android:repeatMode="restart"
android:repeatCount="infinite"
android:interpolator="@android:anim/cycle_interpolator"/>
</set>
保存在动画文件夹
public class AnimationActivity extends Activity{
ImageView img;
Animation rotate;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fadein);
img = (ImageView) findViewById(R.id.myimageid);
// load the animation
rotate = AnimationUtils.loadAnimation(getApplicationContext(),
R.anim.rotate);
img.startAnimation(rotate);
}
}
答案 1 :(得分:1)
在Kotlin中,您可以使用ObjectAnimator超级轻松地做到这一点。例如:
ObjectAnimator.ofFloat(view, "rotationX", 180f).apply {
duration = 2000
start()
}
答案 2 :(得分:0)
您可以使用旋转动画来实现此目的。
在res directoy下创建anim文件夹,放置在这个xml中。
rotate_around_center_point.xml
get
将动画设置为这样查看。
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<rotate
android:duration="2500"
android:interpolator="@android:anim/linear_interpolator"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:repeatMode="restart"
android:toDegrees="360" />
</set>