资讯专栏INFORMATION COLUMN

android Fragment中使用Toolbar

wwq0327 / 1589人阅读

摘要:在中可以直接使用就可以重写和方法但是在中则需要中需要将转为才能获取方法还有在中还需要添加一行才能调用和方法如果在方法中存在判断比如当改变某个状态时某些菜单不显示等,可以使用如下再重新调用方法例当点击一个条目时,不显示另外一个编辑取消实现

在Activity中可以直接使用

setSupportActionBar(toolbar);

就可以重写 onCreateOptionsMenu 和 onOptionsItemSelected 方法;

但是在Fragment中则需要

((AppCompatActivity)getActivity()).setSupportActionBar(mToolbar);

Fragment中需要将 getActivity()转为AppCompatActivity才能获取setSupportActionBar方法;

还有在Fragment中还需要添加一行

setHasOptionsMenu(true);

才能调用 onCreateOptionsMenu 和 onOptionsItemSelected 方法;

如果在  onCreateOptionsMenu 方法中存在判断比如当改变某个状态时某些菜单item不显示等,可以使用如下再重新调用  onCreateOptionsMenu 方法

getActivity().invalidateOptionsMenu();

例:

    @Override
    protected void initListener() {
        ((AppCompatActivity)getActivity()).setSupportActionBar(mToolbar);
        setHasOptionsMenu(true);
    }

    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        inflater.inflate(R.menu.menu_edit_select,menu);
        if(showEditSelect){
            menu.findItem(R.id.menu_edit).setVisible(true);
            menu.findItem(R.id.menu_cancel).setVisible(false);
        }else{
            menu.findItem(R.id.menu_edit).setVisible(false);
            menu.findItem(R.id.menu_cancel).setVisible(true);
        }
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()){
            //当点击一个条目时,不显示另外一个
            case R.id.menu_edit:
                showEditSelect = false;
                getActivity().invalidateOptionsMenu();
                break;
            case R.id.menu_cancel:
                showEditSelect = true;
                getActivity().invalidateOptionsMenu();
                break;
        }
        return true;
    }

menu_edit_select.xml



    
    

实现在标题栏菜单处点击“编辑”就会在原来位置上显示“取消”,点击“取消”显示“编辑”。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/2454.html

相关文章

  • 原生Android 侧滑菜单实践(部分)

    摘要:此为第一个制作侧滑菜单的实践。此部分仅仅为部分实践仅缺的字符串布局,以及需要修改的文件,也是需要主要修改的地方。从使用设计进行侧滑菜单的制作部分仍然可看。 此为第一个制作侧滑菜单的实践 。 此部分仅仅为部分实践: 仅缺menu的字符串布局,以及需要修改的MainActivity.java文件,也是需要主要修改的地方。 从使用MD设计-进行侧滑菜单的制作(activity_main.xm...

    TANKING 评论0 收藏0
  • Android Material Design系列之Palette

    摘要:今天我们讲的这个非常好用,也非常好玩。介绍顾名思义调色板,的作用是可以从图像中提取图片的颜色。我们可以把提取的颜色融入到中,可以使风格更加美观融洽。的地址去吧,我会慢慢完善的。 今天我们讲的这个Palette非常好用,也非常好玩。 Palette的作用是从图像中提取突出的颜色,这样我们可以根据提取到的色值把它赋给Toolbar,标题,状态栏等,可以使我们的整个界面色调统一,效果非常好看...

    cpupro 评论0 收藏0
  • 安卓组件控件

    摘要:优点这样做的好处是无需适配,不用担心便宜问题缺点是不同的界面要写不同的基本使用学习记录开车指南之最全实用案例学习整理,很全安卓约束控件扁平化布局入门好棒的干货一个强悍而优美的视频播放器最近项目中有需要用在线视频播放。 ExpandableListView一点点 学习ExpandableListView简单用法 FloatingDragButton:炫酷的拖拽浮动按钮 IOS的Assis...

    tainzhi 评论0 收藏0
  • ToolBar、TabLayout、Fragment+ViewPager的开发实践

    摘要:此文优先发布于我的个人博客开发实践研究的开发实践复盘以及尚未解决的问题。有的示例仅创建了一个,其中为定义文字数组实现,若开发中则需要多个添加,均用于中。 此文优先发布于我的个人博客:TB+TableLayout+Fragment+VP开发实践 研究ToolBar、TabLayout、Fragment+ViewPager的开发实践复盘以及尚未解决的问题。欢迎评论留言。 XML TabLa...

    enali 评论0 收藏0
  • study - 收藏集 - 掘金

    摘要:关于的那些开源掘金摘要自从推出后,其对布局的灵活控制是让开发者们称赞不已。开发由模块化到组件化一掘金在一文中,我们谈到模块化和组件化,现在我们来聊聊组件化开发。 关于 Android RecyclerView 的那些开源 LayoutManager - Android - 掘金摘要:自从RecyclerView推出后,其LayoutManager对布局的灵活控制是让开发者们称赞不已。 ...

    DirtyMind 评论0 收藏0

发表评论

0条评论

wwq0327

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<