关于Android 渐变动画 淡入效果的实现

最近在做启动页动画的时候碰到一个问题,想让一个图片做淡入效果,以下是animation的文件

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:duration="1000"
        android:fromXDelta="0.0"
        android:fromYDelta="0.0"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:startOffset="1000"
        android:fillAfter="true"
        android:toXDelta="0.0"
        android:toYDelta="-120.0" />

    <alpha
        android:duration="1000"
        android:fromAlpha="0.0"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:repeatCount="0"
        android:startOffset="1000"
        android:toAlpha="1.0" />

</set>

这里做了一个位移和淡入的效果,

然后是调用代码

Animation welcomeAnimation = AnimationUtils.loadAnimation(ReadyActivity.this, R.anim.animation_welcome);
imageView.setAnimation(welcomeAnimation);
welComeAnimation.startNow;

很简单的实现 需要注意的是 用imageView.startAnimaiton  没有效果 用 Animation.startNow 才有效果。原因暂未找到,另外需要在imageView的xml声明里面设置它的visible属性为invisible ,千万不能设置alpha属性为0 不然整个控件就无法显示了。还有一点 如果希望动画在结束的时候不变回动画最初的状态,一定!!!!!!一定要在代码里面设置 welComeAnimation.setFillAfter(true); 千万!!!千万!!!!不能在xml里面设置!!!!!!至于为什么!!!!!!!!!!!不要来问我!!!我也不知道!!!我只知道我被坑了很久!!!!!!

你可能感兴趣的:(android,AlphaAnimation)