1

ActionBarDrawerToggle(v7) とアイコンの処理に問題があります。

基本的に、DrawerFragment と Fragments を表示する古典的なアクティビティがあり、動作します。

詳細ビュー (リスト/詳細フラグメント) のフラグメントを別のフラグメントに置き換えようとすると、問題が発生します。

新しい DetailFragment を次のようにプッシュします。

private void putDetailFragment(Fragment fragment, String fragmentName) {
    getSupportFragmentManager()
            .beginTransaction()
            .addToBackStack(fragmentName)
            .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE)
            .replace(R.id.container, fragment)
            .commit();

    if (getSupportActionBar() != null) {
        getSupportActionBar().setTitle(getString(mTitleId).toUpperCase());
        mNavigationDrawerFragment.setHomeAsUp(getSupportActionBar(), true);
    }
}

public void setHomeAsUp(ActionBar actionBar, boolean show) {
    actionBar.setDisplayHomeAsUpEnabled(show);
    setDrawerIndicatorEnabled(!show);
}

public void setDrawerIndicatorEnabled(Boolean enabled) {
    if (mDrawerToggle != null) {
        mDrawerToggle.setDrawerIndicatorEnabled(enabled);
        mDrawerToggle.syncState();
    }
    if(mDrawerLayout != null) {
        mDrawerLayout.setDrawerLockMode(enabled ? DrawerLayout.LOCK_MODE_UNLOCKED : DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
    }
}

残念ながら、引き出しを開いたときのように、矢印はアニメーション化されていません。DetailFragment から戻ると、ハンバーガーのアイコンが消えています。

ここで何が問題なのか、誰にも手がかりがありますか? ActionBarDrawerToggle(v4) では問題なく動作しましたが、新しいアニメーション化されたものでは動作しませんでした。

ありがとう !

4

0 に答える 0