經歷過幾回這樣的問題了。設置好了動畫以後,動畫不執行。以下代碼:
setFullScreen(); View view = LViewHelper.getView(R.layout.splash); setContentView(R.layout.splash); AlphaAnimation aa = new AlphaAnimation(0.1f, 1.0f); aa.setDuration(2000); view.startAnimation(aa); aa.setAnimationListener(new AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationRepeat(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { startActivity(new Intent(SplashActivity.this, MainActivity.class)); finish(); } });
找緣由,找了半天找不到,動畫就是不執行。通過反覆的測試,才發現了問題,就是view的重複問題,只要把須要動畫的view加載到界面中,代碼以下:
setFullScreen(); View view = LViewHelper.getView(R.layout.splash); setContentView(view); AlphaAnimation aa = new AlphaAnimation(0.1f, 1.0f); aa.setDuration(2000); view.startAnimation(aa); aa.setAnimationListener(new AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationRepeat(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { startActivity(new Intent(SplashActivity.this, MainActivity.class)); finish(); } });
原來的代碼,只是初始化了一個帶動畫的view,而並無把view顯示到界面上,這樣就解決了這個問題。