在Android上实现淡入和淡出动画的最佳方法是什么?

时间:2014-01-01 04:01:12

标签: android animation fadein imagebutton fadeout

我有一些控件,我不希望用户一直看到,所以他们需要:

  • 创建活动后5秒淡出
  • 当用户点按屏幕时淡入
  • 在5秒钟可见度后或当用户再次点击屏幕时(以先到者为准)淡出

我已经看过很多动画实现(包括ThreadHandlerAnimation)。在这种情况下哪种方法最有效?

2 个答案:

答案 0 :(得分:2)

这里我包含了我在项目中完成的代码。请检查一下。它可能对你有帮助。

Animation animationFadeIn = AnimationUtils.loadAnimation(this, R.anim.fade_in);
Animation animationFadeOut = AnimationUtils.loadAnimation(this, R.anim.fade_out);

                handler = new Handle(this);

        animator = new Thread() {
            public void run() {
                try {
                    handler.sendMessage(handler.obtainMessage(1));
                    sleep(2000);
                    handler.sendMessage(handler.obtainMessage(2));
                    sleep(2000);
                    handler.sendMessage(handler.obtainMessage(3));

                } catch (Exception e) {
                    e.printStackTrace();

                }
            }
        };

        animator.start();

static class Handle extends Handler {       
        @Override
        public void handleMessage(Message msg) {
            // TODO Auto-generated method stub          
            if (msg.what == 1) {
                iv.startAnimation(animationFadeIn);
            } else if (msg.what == 2) {
            } else if (msg.what == 3) {
                iv.startAnimation(animationFadeOut);
            }
            super.handleMessage(msg);

        }

    }

答案 1 :(得分:1)

使用以下代码进行淡入和淡出。

<强> 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>

<强> fade_out.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="1.0"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:toAlpha="0.0" />

</set>

快乐的编码!!