/var/log/messages

debugging with sixth sense

Splash を DialogFragment でナニしてみた

splash 要らんでしょ、ってのは賛成なのですが自分マターで作れる訳でもなく。

と、いうことで

DialogFragment を使った実装をでっち上げてみました。

Application なクラスで以下なカンジ。

public class MyApplication extends Application {

    private boolean mFirst;

    public void setNotFirst() { mFirst = false; }
    public boolean isFirst() { return mFirst; }

    @override
    public void onCreate() {
        super.onCreate();
        mFirst = true;
    }
}

ここで最初の、ってソレを制御できると信じて launcher から起動される Activity にて以下なのかどうか。

    if (((MyApplication)getApplication()).isFirst()) {
        FragmentManager manager = getFragmentManager();
        final MySplashDialog dialog = new MySplashDialog();
        dialog.show(manager, "dialog");

        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                dialog.dismiss();
                hoge(); // initialize
            }
        }, 2000);
    } else {
        hoge(); // initialize
    }

splash な Dialog についてはもう少し紆余曲折があるはずなので別途エントリな方向です。

Comments