Spojrzy ktoś doświadczony co może być złego w funkcji intent ? Bo po 7 sekundach zamiast przejść do następnego activity animacja sie zatrzymuje a następnie cała aplikacja
import android.app.Activity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.animation.AnimationSet;
import android.view.animation.AnimationUtils;
import android.view.animation.ScaleAnimation;
import android.view.animation.TranslateAnimation;
public class MainActivity extends Activity {
View viewProgress;
AnimationSet animationSet;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(getApplicationContext(), Game.class);
startActivity(intent);
finish();
}
}, 7000);
viewProgress = findViewById(R.id.view_progress);
int viewWidth = viewProgress.getWidth();
TranslateAnimation move = new TranslateAnimation(-(getScreenWidth() / 2) + viewWidth / 2, (getScreenWidth() / 2) + viewWidth / 2 + viewWidth, 0, 0);
move.setDuration(1000);
TranslateAnimation move1 = new TranslateAnimation(-viewWidth, 0, 0, 0);
move1.setDuration(500);
ScaleAnimation laftOut = new ScaleAnimation(0, 1, 1, 1);
laftOut.setDuration(500);
animationSet = new AnimationSet(true);
animationSet.addAnimation(move);
animationSet.addAnimation(move1);
animationSet.addAnimation(laftOut);
animationSet.addAnimation(AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slideout));
startAnimation();
}
private void startAnimation() {
viewProgress.startAnimation(animationSet);
new android.os.Handler().postDelayed(new Runnable() {
@Override
public void run() {
startAnimation();
}
}, 1000);
}
public static int getScreenWidth() {
return Resources.getSystem().getDisplayMetrics().widthPixels;
}
}