美文网首页
Toolbar menu

Toolbar menu

作者: 我的阿福 | 来源:发表于2021-06-28 16:15 被阅读0次

    文档链接:https://developer.android.com/guide/fragments/appbar
    目标:掌握Activity,Fragment关于Toolbar实现标题栏中菜单的相关操作。

    自己的demo示例项目地址:https://github.com/MrXieD/BaseFramework/tree/master/contactroom

    其中重要的几个地方:

    1.如果项目中在宿主Activity中统一实现一个Toolbar即可,那么,对于不同Fragment,不同的菜单内容的实现方式应该在Fragment中调用Android系统菜单的API。
    如:
    setHasOptionsMenu,
    onPrepareOptionsMenu,
    onCreateOptionsMenu,
    onOptionsItemSelected这几个。

    2.对于使用1中的方式,动态修改菜单状态,应该是在onPrepareOptionsMenu方法中去对相应的菜单项做一些修改,此方法在每次菜单栏展开的时候都会调用。注意:此处的修改指的是菜单栏的显示,隐藏,置灰等状态修改,并非菜单栏结构的改动。如文档所示:

    image.png

    3.如果需要修改菜单栏,则需要
    requireActivity().invalidateOptionsMenu(),最重要的是此方法会导致onCreateOptionsMenu重新调用。如文档所示:

    image.png

    4.如果Fragment需要自己在布局中添加Toolbar来实现自己的标题栏,那么不要用上面提到的系统API。
    如文档所说:

    image.png
    此时,应该直接操作自己布局的toolbar的一些见名知意的API。如:viewBinding.myToolbar.inflateMenu(R.menu.sample_menu)

    相关文章

      网友评论

          本文标题:Toolbar menu

          本文链接:https://www.haomeiwen.com/subject/gewqultx.html