敞开成长之旅!这是我参加「日新计划 2 月更文应战」的第 5 天,点击检查活动概况

前语

本篇是安卓开发必备基础的第十二篇,本篇是用来讲述Menu是如何在Activity中运用的,Menu便是菜单,咱们能够在页面空间不足的时分去运用它,这样就能够放下更多的东西展现,咱们经常用到的微信和QQ都有很多菜单的规划,下面就让咱们看看Menu在安卓项目中如何创立运用。

正篇

运用办法

首要,咱们需要在res目录下新建一个文件夹叫“menu”,然后再在这个新建的文件夹中创立Menu资源文件:

安卓开发基础——Menu菜单的使用

安卓开发基础——Menu菜单的使用
咱们能够为这个文件起一个新姓名,这儿我命名为“main”,接着咱们在这个文件中添加下面的代码:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/scan_item"
        android:title="@string/scan"/>
    <item
        android:id="@+id/add_item"
        android:title="@string/add_new_friend"/>
</menu>

安卓开发基础——Menu菜单的使用
这样咱们就为新建的菜单创立了两项新内容,当然这仅仅布局部分,咱们还需要在添加Menu的Activity中重写onCreateOptionsMenu()办法(快捷键Win:Ctrl+o,Mac:control+o,能够快速查找当时文件的可复写办法),咱们将刚刚写好的布局填充进咱们的Menu:

override fun onCreateOptionsMenu(menu: Menu?): Boolean {
    menuInflater.inflate(R.menu.main, menu)
    return true
}

到这儿,咱们完成了UI的展现部分,咱们还需要有操控的逻辑,所以咱们还需要复写onOptionsItemSelected办法对Menu的每项进行逻辑操控,这儿咱们是点击相应的一项就会对应弹窗,代码如下:

override fun onOptionsItemSelected(item: MenuItem): Boolean {
    when (item.itemId) {
        R.id.scan_item -> Toast.makeText(this, "Scan!", Toast.LENGTH_LONG).show()
        R.id.add_item -> Toast.makeText(this, "Add!", Toast.LENGTH_LONG).show()
    }
    return true
}

最终效果

留意:themes不要选择无标题的:

安卓开发基础——Menu菜单的使用
效果如下:

能够看到标题最右侧呈现三个点,点击时打开菜单,点击对应的项就有对应弹窗呈现。

总结

这个Menu最关键的是假如不运用对应的主题,比方无标题栏主题,咱们运转APP就不会展现,不知道在使用其他主题时咱们是只能自定义写,仍是说有其他办法去改善体会。