簡體   English   中英

Android:動畫無法開始下一個活動之前完成

[英]Android : Animation not finishing before starting next activity

我為圖像按鈕設置了動畫。 我希望它做的是淡出,然后開始下一個活動。

這不是正在發生的事情。

它開始下一個活動,然后按“后退”時,動畫仍在“運行”,並完成淡出。 我嘗試了以下各種組合:在XML中將動畫設置更長的時間,將動畫放入線程中,並使用線程進入睡眠狀態,然后將動畫放入睡眠線程中……我還沒有發現獲勝的組合! 在下一個活動開始之前,動畫仍然沒有完成。

任何幫助表示贊賞!

用於淡出的XML:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator">
<alpha
  android:fromAlpha="1.0"
  android:toAlpha="0.1"
  android:duration="1000"
  />
</set>

android中的代碼:(用於imageButton的onClick)

public void onClick(View v) {
            Intent intent = new Intent(Current.this, Next.class);
            v.startAnimation(animationFadeOut);
            try {

                Thread.sleep(1200);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            startActivity(intent);

}

您還可以嘗試使用AnimationListener,如下所示:

animationFadeOut.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) {
        // TODO Auto-generated method stub

        startActivity(intent);

    }
});

您應該使用此處所述的AnimationListener 並在onAnimationEnd啟動Activity 您可以這樣使用: animationFadeOut.setAnimationListener(listener)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM