从底部到顶部的Android淡入/淡出动画

3

我正在创建一个动画,我想要淡出我的ImageView,但是这个淡出动画应该从底部开始,逐渐向上,不像普通的淡出动画一下子全部消失。

public void animateFadeIn() {
    Animation in = AnimationUtils.loadAnimation(this,
            android.R.anim.fade_in);
    motherboard.startAnimation(in);
    motherboard.setVisibility(View.VISIBLE);
    in.setDuration(1500);
    in.setAnimationListener(new AnimationListener() {

        @Override
        public void onAnimationStart(Animation animation) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onAnimationRepeat(Animation animation) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onAnimationEnd(Animation animation) {
            // TODO Auto-generated method stub
            animateFadeOut();
        }
    });
}

如何实现这个目标。
<?xml version="1.0" encoding="UTF-8"?>

<scale
    android:fromYScale="-450"
    android:toYScale="450" />

<alpha
    android:duration="1500"
    android:fromAlpha="0.0"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:repeatCount="infinite"
    android:toAlpha="1.0" />


请点击此链接,它可以帮助您:http://www.androidhive.info/2013/06/android-working-with-xml-animations/ - AskNilesh
请粘贴您的animation.xml文件。 - AskNilesh
@NileshRathod 我只是使用默认的Android动画XML。android.R.anim.fade_inandroid.R.anim.fade_out - user8147458
请创建您自定义的动画。 - AskNilesh
@NileshRathod 我不确定应该如何开始编写从底部向顶部的淡出动画。 - user8147458
1个回答

2
在您的文件中创建一个名为slide_up.xml的文件。
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
    android:duration="5000"
    android:fillAfter="true"
    android:fromYDelta="75%p"
    android:repeatCount="0"
    android:toYDelta="0%p" />

你的 fade_in.xml 文件

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

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

</set>

比加载动画更好的选择
ImageView imageview;
Animation animFadein, animslideup;

animFadein = AnimationUtils.loadAnimation(getApplicationContext(),
            R.anim.fade_in);
    animslideup = AnimationUtils.loadAnimation(getApplicationContext(),
            R.anim.slide_up);

 final AnimationSet s = new AnimationSet(true);
    s.setInterpolator(new AccelerateInterpolator());

    s.addAnimation(animslideup);
    s.addAnimation(animFadein);
    imageview.startAnimation(s);

1
图片通过您上面的代码正在很好地动画。但我真正想实现的一件事是,当动画开始时,图像从底部开始淡出,然后淡出到顶部。您能否帮助我实现这个目标? - user8147458
图片并没有使用淡出效果消失,而是从底部向上滑动消失。我想要实现类似于Cooling Master的动画效果。图片编号-2。 - user8147458
你能帮我解决这个问题吗? - user8147458
是的,我已经尝试过了。 使用上述代码后,图像会以平移动画从底部向顶部消失。 而不是淡出动画。 - user8147458

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