9

アクション バーのアイコンの初期化に単純な問題があります。私は Android SDK 5 を使用していますandroid.support.v4.app.ActionBarDrawerToggle;が、廃止されたため、v7 サポートをインポートし、インポートを次のものに置き換えました。android.support.v7.app.ActionBarDrawerToggle; つまり、v7 と同じパッケージです。

ActionBarDrawerToggle オブジェクトを初期化して、DrawerLayoutインポート元のオブジェクトに関連付けると、import android.support.v4.widget.DrawerLayout;引数を 1 つ削除する必要がありますが、これで問題ないようです (理由はわかりません!)。私のアイコンは私のActionBarには入りません。これが私の ActionBarDrawerToggle オブジェクトの初期化です。

mActionBarDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout,
            R.drawable.ic_drawer, R.string.drawer_open) {

        /** Called when a drawer has settled in a completely closed state. */
        @Override
        public void onDrawerClosed(View view) {
            super.onDrawerClosed(view);
            invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()

        }

        /** Called when a drawer has settled in a completely open state. */
        @Override
        public void onDrawerOpened(View view) {
            super.onDrawerOpened(view);
            invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()

        }
    };

つまり、リソースに画像がありますR.drawable.ic_drawer

v7 でアイコンが表示されない理由がわかりません。

PSコードは完全に正常に動作します。実際、v4インポートに切り替えて、トグルオブジェクトの初期化に追加の引数を追加すると(もちろん、醜い非推奨のクロスラインをむき出しにする必要があります)、アイコンは表示されますが、v7には表示されません。

前もって感謝します :)

4

2 に答える 2