2015-05-14 71 views
-5

我有一個Activity一個按鈕。如果用戶點擊Button,我開始一項服務並完成這個Activity。我想淡出它。怎麼做?我嘗試了一些方法,但他們似乎不工作。如何淡入淡出活動?

+0

請發佈您迄今爲止所嘗試的內容,併發布您的代碼。 –

+0

你到底想做什麼? 有些動畫? –

回答

3
MainActivity.this.overridePendingTransition(R.anim.slide2, R.anim.slide); 

使用上面的代碼。

這裏是淡出動畫代碼。

fade_out.xml 
<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fillAfter="true" > 

    <alpha 
     android:duration="1000" 
     android:fromAlpha="1.0" 
     android:interpolator="@android:anim/accelerate_interpolator" 
     android:toAlpha="0.0" /> 

</set> 
0

淡出淡入採用了Android(Java)

Animation fadeIn = new AlphaAnimation(0, 1); // fadein 
fadeIn.setInterpolator(new DecelerateInterpolator()); //add this 
fadeIn.setDuration(1000); 

Animation fadeOut = new AlphaAnimation(1, 0);//Fadeout 
fadeOut.setInterpolator(new AccelerateInterpolator()); //and this 
fadeOut.setStartOffset(1000); 
fadeOut.setDuration(1000); 

AnimationSet animation = new AnimationSet(false); //change to false 
animation.addAnimation(fadeIn); 
animation.addAnimation(fadeOut); 
this.setAnimation(animation); 

我相信這有助於你更多的是指這個link

0

我想我解決我的問題與ObjectAnimator。

ObjectAnimator objAnimator = ObjectAnimator.ofFloat(mainView, View.ALPHA, 1.0f, 0.0f); 
      obj.setDuration(2000).addListener(new AnimatorListener() { 

       @Override 
       public void onAnimationStart(Animator animation) { 

       } 

       @Override 
       public void onAnimationRepeat(Animator animation) { 

       } 

       @Override 
       public void onAnimationEnd(Animator animation) { 
        finish(); 
       } 

       @Override 
       public void onAnimationCancel(Animator animation) { 
       } 
      }); 
      objAnimator.start(); 
0

我找到了最小,最好的辦法就是把代碼:

finish(); 
overridePendingTransition(0, android.R.anim.fade_out); 

到OnClickListener,或在任何你想淡入完成的活動。