设置后图标时如何找回汉堡图标?

时间:2018-12-21 17:36:50

标签: java android navigation-drawer hamburger-menu

设置后退图标时如何找回汉堡图标? 当我在活动片段上实现更改切换图标时,将其设置为back图标,但是需要在其返回片段时将其设置为再次hamburg图标,以打开活动的抽屉,

这是我的代码

getSupportFragmentManager().addOnBackStackChangedListener(new FragmentManager.OnBackStackChangedListener() {
        @Override
        public void onBackStackChanged() {
            if (getSupportFragmentManager().getBackStackEntryCount() > 0) {
                toolbar.setNavigationIcon(R.drawable.ic_action_navigation_arrow_back);
                //drawerFragment.mDrawerToggle.setDrawerIndicatorEnabled(false);
                getSupportActionBar().setDisplayHomeAsUpEnabled(true);// show back button
                toolbar.setNavigationOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        onBackPressed();
                    }
                });
            } else {
                //show hamburger
                ///drawerFragment.mDrawerToggle.setDrawerIndicatorEnabled(true);
                toolbar.setNavigationIcon(R.drawable.icon1);
                getSupportActionBar().setDisplayHomeAsUpEnabled(false);
                //drawerFragment.mDrawerToggle.syncState();
                toolbar.setNavigationOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
                        drawer.openDrawer(GravityCompat.START);
                    }
                });
            }
        }
    });

1 个答案:

答案 0 :(得分:0)

如果您使用片段来显示内容,并且在主机活动中只有一个工具栏,则可以管理您的工具栏。

    @Override
    public void onResume() {
        super.onResume();
        ActionBar actionBar = ((ActionBarActivity)getActivity()).getSupportActionBar();
        actionBar.setTitle("First Fragment");
        actionBar.setIcon(R.drawable.back_icon);
    } 

别忘了打电话

setSupportActionBar(toolbar)