我正在使用DrawerLayout自定义侧边菜单(布局),当抽屉打开或抽屉关闭时,需要更改Action Bar的小部分。我试图在onOptionsItemSelected()上通过切换抽屉图标上的tittle来实现。但是当抽屉被打开或关闭时,这种方法不起作用
public class MainActivity extends AppCompatActivity {
private boolean isOpen ;
private DrawerLayout mDrawerlayout ;
private ActionBarDrawerToggle mToggle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().setTitle(R.string.drawerclosed);
// ActionBar bar = getActionBar();
// bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#0000ff")));
mDrawerlayout = (DrawerLayout) findViewById(R.id.Drawer) ;
mToggle = new ActionBarDrawerToggle(this,mDrawerlayout,R.string.draweropen,R.string.drawerclosed) ;
mDrawerlayout.addDrawerListener(mToggle);
mToggle.syncState();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(mToggle.onOptionsItemSelected(item))
{
if(!isOpen)
{
isOpen = true ;
getSupportActionBar().setTitle(R.string.draweropen);
}
else if(isOpen)
{
isOpen = false ;
getSupportActionBar().setTitle(R.string.drawerclosed);
}
return true ;
}
return super.onOptionsItemSelected(item);
}