我想在Android上旋转动画imageview

时间:2019-02-04 21:45:12

标签: java android android-studio animation

我想在android上制作imageview的动画,我想实现以下动画,如果有人知道如何实现此动画,请让我指导。 User Function

1 个答案:

答案 0 :(得分:0)

1。单个图像动画(运动/振动)

示例: 在res文件夹下,

第一步:创建一个名为“ anim”的新文件夹来存储您的动画资源,并将其放在该文件夹中。(名称animation.xml)

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="100"
android:fromDegrees="-15"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:repeatMode="reverse"
android:toDegrees="15" />

第2步。为imageview设置动画的方法

public void AnimateBell() {
    Animation shake = AnimationUtils.loadAnimation(mContext, R.anim.animation);
    ImageView imgBell= (ImageView) findViewById(R.id.imgBell);
    imgBell.setImageResource(R.mipmap.ic_notifications_active_white_48dp);
    imgBell.setAnimation(shake);
}

2。如果要使用多个图像制作动画,可以尝试以下操作

您是否考虑过使用帧动画? https://developer.android.com/guide/topics/resources/animation-resource#Frame

您可以在anim文件夹中指定一个xml,其中包含逐帧动画,指定每个图像持续时间和其他设置,将其签出

eAnimationDrawable animation = new AnimationDrawable();
animation.addFrame(getResources().getDrawable(R.drawable.image1), 100);
animation.addFrame(getResources().getDrawable(R.drawable.image2), 500);
animation.addFrame(getResources().getDrawable(R.drawable.image3), 300);
animation.setOneShot(false);

ImageView imageAnim =  (ImageView) findViewById(R.id.img);
imageAnim.setBackgroundDrawable(animation);

// start the animation!
animation.start()