Missing Up navigation icon after switching from ICS ActionBar to Lollipop Toolbar

前端 未结 3 791
南旧
南旧 2020-12-29 11:13

I have an activity with many fragments that uses action bar and navigation drawer. It has \"home as up\" enabled. I have implemented proper logic that only top level fragmen

3条回答
  •  灰色年华
    2020-12-29 11:31

    Answer/comments of Nikola Despotoski and Andrey Novikov are perfectly correct but I want to mention that after toolbar was replaced with following code:

    drawerToggle.setDrawerIndicatorEnabled(false);
    drawerToggle.setHomeAsUpIndicator(getV7DrawerToggleDelegate().getThemeUpIndicator());
    setSupportActionBar(toolbar);
    

    your activity will receive every onOptionsItemsSelected events even if you enable your drawer toogle again drawerToggle.setDrawerIndicatorEnabled(true); So you need to handle this, I've ended with

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case android.R.id.home:
                if (drawerToggle.isDrawerIndicatorEnabled()) {
                    return drawerToggle.onOptionsItemSelected(item);
                } else {
                    onBackPressed();
                    return true;
                }
            default:
                return super.onOptionsItemSelected(item);
        }
    }
    

提交回复
热议问题