アクション バーのアイコンの初期化に単純な問題があります。私は 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には表示されません。
前もって感謝します :)