【问题标题】:what is the purpose of using getMenuInflater() in general in android studio?在 android studio 中一般使用 getMenuInflater() 的目的是什么?
【发布时间】:2018-09-03 16:58:30
【问题描述】:

getMenuInflater() 在 android 中创建选项菜单的具体用途是什么?

【问题讨论】:

    标签: android android-menu android-optionsmenu android-contextmenu


    【解决方案1】:

    您使用它来获取MenuInflaterMenuInflater 可以“膨胀”菜单资源,将 XML 表示转换为 MenuMenuItem 对象的树。反过来,这些对象用于填充操作栏和Toolbar 小部件等内容。

    【讨论】:

      【解决方案2】:

      该类用于将菜单 XML 文件实例化为 Menu 对象。

      出于性能原因,菜单膨胀很大程度上依赖于在构建时对 XML 文件进行的预处理。因此,目前无法在运行时在纯 XML 文件上使用带有 XmlPullParser 的 MenuInflater;它仅适用于从已编译资源(R. something 文件)返回的 XmlPullParser。

      【讨论】:

      • 只复制粘贴文档不等于回答问题。
      【解决方案3】:

      MenuInflater:doc link

      该类用于将菜单 XML 文件实例化为 Menu 对象。

      出于性能原因,菜单膨胀在很大程度上依赖于 在构建时完成的 XML 文件的预处理。因此,它 当前无法将 MenuInflater 与 XmlPullParser 一起使用 在运行时通过纯 XML 文件;它仅适用于 XmlPullParser 从已编译的资源(R. something 文件)返回。

      简单来说,第一行的意思是您可以使用 XML 文件动态添加/膨胀菜单。

      膨胀上下文菜单示例:

      style.xml

      <?xml version="1.0" encoding="utf-8"?>
      <menu xmlns:app="http://schemas.android.com/apk/res-auto"
          xmlns:android="http://schemas.android.com/apk/res/android">
          <item android:id="@+id/cut"
              android:title="Cut"
              app:showAsAction="always" />
          <item android:id="@+id/copy"
              android:title="Copy"
              app:showAsAction="always" />
          <item android:id="@+id/paste"
              android:title="Paste"
              app:showAsAction="always" />
      </menu>
      

      活动代码(Kotlin):

      override fun onCreateContextMenu(menu: ContextMenu, v: View, menuInfo: ContextMenu.ContextMenuInfo) {
              super.onCreateContextMenu(menu, v, menuInfo)
              val menuInflater = this.activity!!.menuInflater
              menuInflater.inflate(R.menu.style, menu)
          }
      

      结果:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多