Wednesday, 12 August 2020

How to add toggle button (switch) to navigation drawer and register listener in android ?

 1. Add following item to the navigation drawer xml

    <item

    android:id="@+id/toggle_btn"

    android:title="Toggle"
app:actionViewClass="android.widget.Switch"
android:icon="@drawable/ic_icon"
/>
2. Create following method and call it in onCreate() method of the activity

public void addListenerOnSwitch(){
NavigationView mNavigationView = findViewById(R.id.nav_view);
Menu navMenu = mNavigationView.getMenu();
MenuItem menuItem = navMenu.findItem(R.id.toggle_btn);
Switch switchButton = (Switch) menuItem.getActionView();

//add listener
switchButton .setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {



if ( switchButton .isChecked() ){
//your action
}else {
//your action
}


}
});
}

3. thanks