animate Translate X And Hide - Android Animation

Android examples for Animation:Translate Animation

Description

animate Translate X And Hide

Demo Code

/*// w w  w.  j av a2  s. c om
 *  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 animateTranslateXAndHide(final View view,
            float initialX, float finalX, int duration, int delay) {
        ObjectAnimator animator = animateTranslateX(view, initialX, finalX,
                duration, delay);

        addGoneAtAnimationEnd(view, animator);

        return animator;
    }
    public static ObjectAnimator animateTranslateX(final View view,
            float initialX, float finalX, int duration, int delay) {
        ObjectAnimator animator = ObjectAnimator.ofFloat(view,
                "TranslationX", initialX, finalX);
        animator.setDuration(duration);
        if (delay > 0)
            animator.setStartDelay(delay);

        // go for it
        animator.start();

        return animator;
    }
    private static void addGoneAtAnimationEnd(View view,
            ObjectAnimator animator) {
        final WeakReference<View> viewRef = new WeakReference<View>(view);
        animator.addListener(new AnimatorListenerStub() {
            @Override
            public void onAnimationEnd(Animator animation) {
                View view = viewRef.get();
                if (view != null)
                    view.setVisibility(View.GONE);
            }
        });
    }
}

Related Tutorials