Created
January 30, 2017 14:20
-
-
Save ssaurel/a76c623633416fc19be58a40b93b80b7 to your computer and use it in GitHub Desktop.
Flip Coin App Main Activity Java Code
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.ssaurel.coinflip; | |
import android.os.Bundle; | |
import android.support.v7.app.AppCompatActivity; | |
import android.view.View; | |
import android.view.animation.AccelerateInterpolator; | |
import android.view.animation.AlphaAnimation; | |
import android.view.animation.Animation; | |
import android.view.animation.DecelerateInterpolator; | |
import android.widget.Button; | |
import android.widget.ImageView; | |
import java.util.Random; | |
public class MainActivity extends AppCompatActivity { | |
public static final Random RANDOM = new Random(); | |
private ImageView coin; | |
private Button btn; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_main); | |
coin = (ImageView) findViewById(R.id.coin); | |
btn = (Button) findViewById(R.id.btn); | |
btn.setOnClickListener(new View.OnClickListener() { | |
@Override | |
public void onClick(View view) { | |
flipCoin(); | |
} | |
}); | |
} | |
private void flipCoin() { | |
Animation fadeOut = new AlphaAnimation(1, 0); | |
fadeOut.setInterpolator(new AccelerateInterpolator()); | |
fadeOut.setDuration(1000); | |
fadeOut.setFillAfter(true); | |
fadeOut.setAnimationListener(new Animation.AnimationListener() { | |
@Override | |
public void onAnimationStart(Animation animation) { | |
} | |
@Override | |
public void onAnimationEnd(Animation animation) { | |
coin.setImageResource(RANDOM.nextFloat() > 0.5f ? R.drawable.tails : R.drawable.heads); | |
Animation fadeIn = new AlphaAnimation(0, 1); | |
fadeIn.setInterpolator(new DecelerateInterpolator()); | |
fadeIn.setDuration(3000); | |
fadeIn.setFillAfter(true); | |
coin.startAnimation(fadeIn); | |
} | |
@Override | |
public void onAnimationRepeat(Animation animation) { | |
} | |
}); | |
coin.startAnimation(fadeOut); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment