Java tutorial
//package com.java2s; /* Copyright 2013 Christopher D. Canfield This file is part of Colonies. Colonies is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Colonies is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Colonies. If not, see <http://www.gnu.org/licenses/>. */ import android.graphics.PorterDuff; import android.graphics.drawable.AnimationDrawable; import android.os.Handler; import android.os.SystemClock; import android.widget.ImageView; public class Main { /** * Replaces an ImageView's background AnimationDrawable with the specified resource id in the * future. Calls start() on the AnimationDrawable once it has been replaced. * @param handler The Handler for the Activity in which the animation will run. * @param imageView An ImageView that has a background that can be casted to AnimationDrawable. * @param animationResourceId The animation's resource id. * @param color The color to apply to the AnimationDrawable. * @param millisFromNow The number of milliseconds to wait before replacing the animation. */ public static void replaceAnimationInFuture(final Handler handler, final ImageView imageView, final int animationResourceId, final int color, long millisFromNow) { handler.postAtTime(new Runnable() { @Override public void run() { imageView.setBackgroundResource(animationResourceId); imageView.getBackground().mutate().setColorFilter(color, PorterDuff.Mode.MULTIPLY); ((AnimationDrawable) (imageView.getBackground())).start(); } }, SystemClock.uptimeMillis() + millisFromNow); } }