package
com.anni.shareimage;
import
androidx.appcompat.app.AppCompatActivity;
import
android.os.Bundle;
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
RotateCoin
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_rotate_coin);
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.ic_coin : R.drawable.ic_coins);
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);
}
}