2

我在用“item”指定的“animation-list”下的“image_list.xml”中有一个图像列表(大约 10 个)。我已经制作了一个“fade_in.xml”文件来淡入imgaes的效果。该代码工作正常,没有错误。

我唯一的问题是淡入效果出现在第一张图像中,但没有出现在 image_list 的其他项目中。请告诉我一种使这成为可能的方法,以便所有图像在出现时都会淡入淡出。我的代码是:

image_list.xml

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
        android:oneshot="false">
<item android:drawable="@drawable/sample1"
    android:duration="2000"/>
<item android:drawable="@drawable/sample2"
    android:duration="2000"/>
<item android:drawable="@drawable/sample3"
    android:duration="2000"/>
<item android:drawable="@drawable/sample4"
    android:duration="2000"/>
. . .
</animation-list>

图片活动.java

   public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    ImageView img_change = (ImageView) findViewById(R.id.images);
    Animation animationFadeIn = AnimationUtils.loadAnimation(this, R.anim.fade_in);
    img_change.setBackgroundResource(R.drawable.image_list);
    AnimationDrawable splashAnimation = (AnimationDrawable) img_change.getBackground();
    if(hasFocus) {
        img_change.setAnimation(animationFadeIn);
        splashAnimation.start();
}}
4

1 回答 1

11

在启动 AnimationDrawable 之前添加进入和退出淡入淡出持续时间

AnimationDrawable splashAnimation = ((AnimationDrawable) iv.getBackground());

splashAnimation .setEnterFadeDuration(500);
splashAnimation .setExitFadeDuration(500);

animDrawable.start();

这个对我有用。

快乐编码

于 2013-10-23T14:07:31.120 回答