2

enter image description hereI have multiple fragments, when switching from fragment to fragment, tool bar will be updated with back arrow. user will now have option to go previous fragment.

animation is working when toggling between hamburger menu and back arrow while switching between fragments back arrow is not animating.

 private FragmentManager.OnBackStackChangedListener backStackListener = new FragmentManager.OnBackStackChangedListener() {
        @Override
        public void onBackStackChanged() {
            setNavIcon();
        }

        ;
    };


@Override
protected void onCreate(Bundle savedInstanceState) {

    Log.d(taglaunch, "on Create Running");
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_appdrawer);
    navigate();
    if (savedInstanceState == null) {
        switchtofragment();
    }
    getFragmentManager().addOnBackStackChangedListener(backStackListener);

}



public void switchtofragment() {
        FragmentMenu fragmentMenu = new FragmentMenu();
        FragmentManager manger = getFragmentManager();
        manger.beginTransaction().replace(R.id.app_bar, fragmentMenu, "fragmenu").commit();
    }

 public void navigate() {

        Log.d(taglaunch, "Navigating");
        toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawer.setDrawerListener(toggle);
        toggle.syncState();

        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);

    }



public void setDefault() {
        Log.d(taglaunch, "Setting to default");
        drawer.openDrawer(GravityCompat.START);
    }


    protected void setNavIcon() {
        int backStackEntryCount = getFragmentManager().getBackStackEntryCount();
        toggle.setDrawerIndicatorEnabled(backStackEntryCount == 0);
    }

tool bar xml

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarCustom">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        app:popupTheme="@style/AppTheme.customToolbar">

    </android.support.v7.widget.Toolbar>

style :

<style name="AppTheme.customToolbar" parent="ThemeOverlay.AppCompat.Light">
        <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
    </style>
Swetha
  • 41
  • 3

0 Answers0