同时对一个imageView进行缩小并淡入效果的处理

4

我正在制作一个包含ImageView的启动画面。

我想同时淡入和缩小ImageView。 我使用下面的xml来进行缩小动画:

<scale  xmlns:android="http://schemas.android.com/apk/res/android"
        android:fromXScale="5" 
        android:toXScale="1" 
        android:fromYScale="5" 
        android:toYScale="1" 
        android:pivotX="50%" 
        android:pivotY="50%" 
        android:duration="1000" 
        android:fillAfter="true">
</scale>

以下是Java代码:

Animation zoomout = AnimationUtils.loadAnimation(this, R.anim.zoomout);
imageView.setAnimation(zoomout);

对于淡入动画,我使用了以下Java代码:

    Animation fadeIn = new AlphaAnimation(1, 0);  
    fadeIn.setInterpolator(new AccelerateInterpolator());
    fadeIn.setStartOffset(500);
    fadeIn.setDuration(1000); 
    imageView.setAnimation(fadeIn);

但我无法同时实现这两个效果。 如何在ImageView上同时使用这两个效果?

1个回答

5
将以下内容添加到您的 xml zoomout 中:
 <?xml version="1.0" encoding="utf-8"?>
 <set xmlns:android="http://schemas.android.com/apk/res/android"
     android:fillAfter="true"
     android:fillEnabled="true">

    <alpha
        android:duration="1000"
        android:fromAlpha="1.0"
        android:startOffset="1"
        android:toAlpha="0.0"/>

    <scale
        android:duration="1000"
        android:fromXScale="1"
        android:fromYScale="1"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale=".5"
        android:toYScale=".5"/>
</set>

同时删除淡入动画的Java代码

Animation fadeIn = new AlphaAnimation(1, 0);  
fadeIn.setInterpolator(new AccelerateInterpolator());
fadeIn.setStartOffset(500);
fadeIn.setDuration(1000); 
imageView.setAnimation(fadeIn);

这里是一个参考链接http://thegeekyland.blogspot.com/2015/12/android-animations-explained.html

,介绍了Android动画的详细解释。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接