DrawBayout中的ActionBar tittle切换不起作用

时间:2018-02-15 05:42:36

标签: android android-actionbar drawerlayout navigationview android-navigationview

我正在使用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);
}

0 个答案:

没有答案