-1

私のアプリにはボタンがあります。ボタンをクリックすると、別のアクティビティが開始され、アニメーション、つまり gif ファイルが再生されます。gifファイルはシングルループです。私がやりたいのは、アニメーションの 1 つのループが完了した後、現在のアクティビティが自動的に前の (最初の) アクティビティに戻ることだけです。これを行う間、アニメーション時間を考慮することができます。助けてください。

public class MainActivity extends Activity {

boolean gif;
long time = 8000;
Handler handler;
GIFWebView view;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    if (gif){

    }
    else
    {


    GIFWebView view = new GIFWebView
            (this, "file:///android_asset/imageedit_ball.gif");

    gif = true;

    new Handler().postDelayed(new Runnable() {
        public void run() {
            gif = false;
        }
    }, time);
    setContentView(view);
    }
}
}

これがそのコードです。

4

1 に答える 1

0

ハンドラーfinish()でメソッドを呼び出します。run()

のハンドラーは指定した時間に正確postDelayedに実行されないため、コードは期待どおりに動作しません。数ミリ秒ずれます。これは、アニメーションに数秒かかる場合は重要ではありませんが、非常に短いアニメーションでは顕著になります。

于 2013-10-17T11:24:39.627 に答える