Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//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);
    }
}