5

Google のガイドラインに従って、DrawerLayoutアプリをインストールして開いた後に初めて開くことをお勧めします (ユーザーに機能を示すため)。

これをどのように行うつもりですか?

openDrawer()ある種の好みと方法の組み合わせになるようです。

4

1 に答える 1

10

そのためにSharedPreferencesを使用することをお勧めします。

基本的な考え方は、SharedPreferences を読み取り、アプリの最初の起動時にそこに存在しないブール値を探すことです。デフォルトでは、探している値が見つからなかった場合は「true」を返します。これは、実際に最初のアプリの起動であることを示します。次に、最初のアプリの起動後に SharedPreferences に値 "false" を保存し、次回の起動時に SharedPreferences から値 "false" を読み取り、それが最初のアプリ起動ではないことを示します。

これがどのように見えるかの例です:

@Override
protected void onCreate(Bundle savedInstanceState) {
    // your other code...
    // setContentView(...) initialize drawer and stuff like that...

    // use thread for performance
    Thread t = new Thread(new Runnable() {

        @Override
        public void run() {

            SharedPreferences sp = Context.getSharedPreferences("yoursharedprefs", 0);
            boolean isFirstStart = sp.getBoolean("key", true); 
            // we will not get a value  at first start, so true will be returned

            // if it was the first app start
            if(isFirstStart) {
                mDrawerLayout.openDrawer(mDrawerList);
                Editor e = sp.edit(); 
                // we save the value "false", indicating that it is no longer the first appstart
                e.putBoolean("key", false);
                e.commit();
            }
        }           
    });

    t.start();
}
于 2013-08-27T21:14:18.020 に答える