我已经使用一个自定义的导航抽屉创建了此活动,该抽屉使用切换按钮打开和关闭。每次单击切换按钮上的图像时,图像都会更改,并且抽屉也随之打开。
但是,我这里有一个问题,那就是当我拖动并关闭抽屉或由于触摸屏幕而关闭抽屉时,切换按钮上的图像没有改变,或者其检查值保持为false。
我该怎么办?
这是我的代码:
public class mainActivity extends AppCompatActivity {
ToggleButton toggleButton;
DrawerLayout drawerll;
FragmentTransaction fragmentTransaction;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mainactivity);
toggleButton = findViewById(R.id.toggleButton);
toggleButton.setBackgroundResource(R.drawable.menu_open);
drawerll = findViewById(R.id.drawerll);
drawerll = findViewById(R.id.drawerll);
fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.frame_container, new dashboard());
fragmentTransaction.commit();
toggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
if(isChecked){
drawerll.closeDrawer(Gravity.LEFT);
toggleButton.setBackgroundResource(R.drawable.menu_open);
}else{
drawerll.openDrawer(Gravity.LEFT);
toggleButton.setBackgroundResource(R.drawable.menu_close);
}
}
});
}
}
您应该在抽屉中添加一个DrawerLayout.DrawerListener
并将代码设置为分别在onDrawerOpened(View drawerView)
和onDrawerClosed(View drawerView)
中设置切换状态。
希望这会有所帮助。