我想在android上制作imageview的动画,我想实现以下动画,如果有人知道如何实现此动画,请让我指导。 User Function
答案 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()