Reputation: 53600
In my project i have a button. when user clicks on it, it shows and animation after that should load another activity.
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.btnReadPage:
startAnimation();
//stopAnimation();
//Toast.makeText(this, "Read Page Clicked", Toast.LENGTH_SHORT).show();
//startActivity(new Intent(this, ReadPage.class));
return;
}
}
according to above code(startActivity, commented), when I run the application and click on the button, animation will play. but if i uncomment it because of fast transition animation doesn't show. How can i inform that animation is finished? Thanks
Upvotes: 7
Views: 16591
Reputation: 304
Update 2023 in Kotlin. Following Rahulkapil answer.
val animation = AnimationUtils.loadAnimation(requireContext(), R.anim.fade_in)
animation.fillAfter = true
animation.duration = 2000
animation.setAnimationListener(object : AnimationListener {
override fun onAnimationStart(animation: Animation) {
Log.d("////", "onAnimationStart")
}
override fun onAnimationRepeat(animation: Animation) {
Log.d("////", "onAnimationRepeat")
}
override fun onAnimationEnd(animation: Animation) {
Log.d("////", "onAnimationEnd")
// Pass the Intent to switch to other Activity
}
})
binding.myTextView.startAnimation(animation)
Upvotes: 0
Reputation: 294
On your animation object call this code:
am1.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
// Pass the Intent to switch to other Activity
}
});
Upvotes: 15