Create fade In Animation and return ObjectAnimator - Android Animation

Android examples for Animation:Fade Animation

Description

Create fade In Animation and return ObjectAnimator

Demo Code

/*// ww w  . j av  a  2  s.  co  m
 *  Copyright (c) 2012, The Linux Foundation. All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are
 *  met:
 *      * Redistributions of source code must retain the above copyright
 *       notice, this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above
 *       copyright notice, this list of conditions and the following
 *       disclaimer in the documentation and/or other materials provided
 *       with the distribution.
 *     * Neither the name of The Linux Foundation nor the names of its
 *       contributors may be used to endorse or promote products derived
 *       from this software without specific prior written permission.
 *
 *  THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
 *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 *  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
 *  ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
 *  BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 *  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 *  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
 *  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 *  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
 *  OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 *  IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 */
import java.lang.ref.WeakReference;
import android.animation.Animator;
import android.animation.ObjectAnimator;
import android.content.Context;
import android.view.View;
import android.view.animation.Animation;

public class Main{
    public static ObjectAnimator fadeIn(View view, int duration, int delay) {
        ObjectAnimator animator = ObjectAnimator.ofFloat(view, "alpha",
                1.0f);
        animator.setDuration(duration);
        if (delay > 0)
            animator.setStartDelay(delay);

        // hide the view (and reset alpha) if visible
        view.setAlpha(0.0f);
        if (view.getVisibility() == View.VISIBLE)
            view.setVisibility(View.INVISIBLE);

        // show the view upon start
        final WeakReference<View> viewRef = new WeakReference<View>(view);
        animator.addListener(new AnimatorListenerStub() {
            @Override
            public void onAnimationStart(Animator animation) {
                View view = viewRef.get();
                if (view != null)
                    view.setVisibility(View.VISIBLE);
            }
        });

        // go for it
        animator.start();

        return animator;
    }
}

Related Tutorials