码迷,mamicode.com
首页 > 其他好文 > 详细

动态修改ActionBar Menu的显示

时间:2014-11-04 17:17:40      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   ar   sp   div   on   log   

应用场景:

在主Activity中,采用InstrumentedActivity侧边栏的方式,侧边栏的每一项对应一个Fragment,要实现不同的Fragment动态显示与隐藏ActionBar Menu。

处理思路:

在onCreateOptionsMenu()方法中,根据标识flag动态设置MenuItem的显示与隐藏,在切换Fragment 的地方调用:invalidateOptionsMenu()方法重新加载Menu。

@Override
    public boolean onPrepareOptionsMenu(Menu menu) {
        return super.onPrepareOptionsMenu(menu);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.czsm_content, menu);
        MenuItem mi = menu.findItem(R.id.action_czsm);
        if(isShowInfoFlag){
            mi.setVisible(true);
        }else{
            mi.setVisible(false);
        }
        return super.onCreateOptionsMenu(menu);
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if(isShowInfoFlag && !isCheckedCur){
            switch(item.getItemId()){
            case R.id.action_czsm:
                Fragment fragment = null;
                ft = fm.beginTransaction();
                fragment = new  CzsmFragment();
                isCheckedCur = true;//表示当前点击过了
                ft.replace(R.id.content_frame, fragment);
                ft.commit();
                break;
            }
        }
        
        if (mDrawerToggle.onOptionsItemSelected(item)) {
            return true;
        }
        
        return super.onOptionsItemSelected(item);
    }

 

动态修改ActionBar Menu的显示

标签:style   blog   io   color   ar   sp   div   on   log   

原文地址:http://www.cnblogs.com/yshyee/p/4073976.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!