3

我的布局中有一个 ImageView。点击一个按钮后。我正在这样做

Image=(ImageView)rootView.findViewById("Imagetag");
Image.setImageResource(R.drawable.image2);

当我从 Image1 切换到 Image2 时。我想要一个动画来执行。任何事情都会做.. Cardflip.FadeIn/Fadeout。

4

3 回答 3

3

您必须导入:

import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.animation.Animation.AnimationListener;

private Animation animFade;

animFade = AnimationUtils.loadAnimation(this, R.anim.fadeout);

您可以拥有按钮的 onClickListener 并添加以下代码:

        animFade.setAnimationListener(new AnimationListener() {
            public void onAnimationStart(Animation animation) {}
            public void onAnimationRepeat(Animation animation) {}
            public void onAnimationEnd(Animation animation) {
                       // when fadeout animation ends, fade in your second image
            }
        });
        yourfirstimage.startAnimation(animFade);

res/anim在(例如 fadeout.xml)中创建一个带有动画的 XML 文件:

<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
        <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:interpolator="@android:anim/accelerate_interpolator" 
android:duration="3000" android:repeatCount="0"/>
</set>

希望这段代码能让您了解动画的工作原理。如果您需要更多说明,请告诉我。

注意:总是在 UI 线程之外做动画。

快乐编码。

于 2013-09-18T11:29:13.280 回答
1

将点击动画添加到图像视图

Animation fadeIn = new AlphaAnimation(0, 1);
fadeIn.setInterpolator(new DecelerateInterpolator()); 
fadeIn.setDuration(500);

Image.setAnimation(fadeIn);
于 2013-09-18T11:29:41.727 回答
1

尝试实现 AnimationListener http://developer.android.com/reference/android/view/animation/Animation.AnimationListener.html 并开始执行您的 AnimationListener 的新动画,您可以使用任何方法切换图像

于 2013-09-18T11:29:51.340 回答