1

導入アニメーションを持つアプリケーションがあります。アニメーションは完全に表示されますが、アプリを起動すると、actionBar のある白い画面が表示されます (animationtion のあるアクティビティは、onCreate の actionBar を非表示にします)。アニメーションが終了すると、インテントが発生し、アクティビティが変更されます。logcat にエラーをスローしたり、その他の問題を引き起こしたりすることはありません。何が問題になる可能性がありますか?

私のコード:

    package com.tuneit.activities;

import android.content.Intent;
import android.graphics.Bitmap.Config;
import android.graphics.BitmapFactory;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.widget.ImageView;

import com.tuneit.R;


public class StActivity extends ActionBarActivity{
        Intent ant;
        BitmapFactory.Options opts = new BitmapFactory.Options();
    protected void onCreate(Bundle savedInstanceState) {
        Log.e("TRANSITION", "TRANSITIONED TO ST ACTIVITY");
        super.onCreate(savedInstanceState);
        setContentView(R.layout.startup);
        BitmapFactory.Options opts = new BitmapFactory.Options();
        opts.inPreferredConfig = Config.RGB_565;
        ant = new Intent(this, MainActivity.class);
        ActionBar ab = getSupportActionBar();
        ab.hide();
        animate();

    }
    private void animate(){
        ImageView imgView = (ImageView)findViewById(R.id.btnOthers);
        //imgView.setVisibility(ImageView.VISIBLE);
        imgView.setBackgroundResource(R.drawable.frame_animation);
        AnimationDrawable frame = (AnimationDrawable) imgView.getBackground();
        frame.setOneShot(true);
        frame.start();
        checker(frame);
    }

    private void checker(AnimationDrawable anim){
        final AnimationDrawable a = anim;
        int timeBetweenChecks = 300;
        Handler h = new Handler();
        h.postDelayed(new Runnable(){
            public void run(){
                if (a.getCurrent() != a.getFrame(a.getNumberOfFrames() - 1)){
                    checker(a);
                } else{
                    startActivity(ant);
                }
            }
        }, timeBetweenChecks);
    }

}
4

0 に答える 0