📜  如何在Android Studio中创建菜单文件夹和菜单文件?

📅  最后修改于: 2021-05-10 13:48:33             🧑  作者: Mango

菜单是几乎所有应用程序中常见的用户界面组件。该界面提供了一些选项,用户可以从中选择一个选项。 Android中提供3种类型的菜单类型:

  1. 选项菜单和应用栏
  2. 上下文菜单和上下文动作模式
  3. 弹出菜单

如何在XML中定义菜单?

在android中,我们可以在活动页面上构建菜单,但这不是标准做法,而是在菜单资源中定义菜单,然后将菜单资源添加到活动中。我们应该在菜单资源中定义菜单的原因:

  • 它与我们的活动区分开来的第一,也是最重要的一环,因此可视化和调试很容易。
  • 分离菜单可为我们提供灵活性,例如针对不同的平台版本,屏幕尺寸,我们可以对菜单资源文件进行一些更改。
  • 与我们的活动分开,易于管理。

分步实施

步骤1:以“项目”模式打开项目

如果项目已经在“ Android ”模式下打开,请在“ Project”模式下打开您的android项目。

在Android Studio中导入外部JAR文件

步骤2:在您的项目中,转到应用> src> main> res ,如下图所示。

步骤3:右键单击res文件夹> New> Android Resource Directory ,如下图所示。

步骤4:现在,从“值”下拉部分中选择菜单选项。

选择后,您会看到类似这样的屏幕。

现在点击确定

步骤4:现在您可以在res文件夹中看到menu文件夹。

步骤5:现在要创建菜单文件,请选择菜单文件夹并右键单击它,然后选择Menu Resource File

步骤6:为您的菜单文件命名,例如在这里,我们将其命名为my_menu

然后点击确定。现在,您可以在菜单文件夹中看到my_menu.xml文件。哇,您只需要在android studio中创建菜单文件即可。因此,现在我们只需要编写几行代码即可查看菜单文件是否正常工作。

XML


    
    


Kotlin
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.Menu
import android.view.MenuInflater
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
  
    // look at this section
    override fun onCreateOptionsMenu(menu: Menu?): Boolean {
        val inflater: MenuInflater = menuInflater
        inflater.inflate(R.menu.my_menu,menu)
        return super.onCreateOptionsMenu(menu)
    }
}


现在看一下您在菜单标签中看到的代码,即

  • :它只是一个容器,包含菜单项或菜单项组。
  • :创建菜单项

标题和图标属性是不言自明的,因此我认为不必对其进行解释。

好的,我们现在完成了80%的工作,只是将菜单添加到MainActvity.kt文件中

科特林

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.Menu
import android.view.MenuInflater
  
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
  
    // look at this section
    override fun onCreateOptionsMenu(menu: Menu?): Boolean {
        val inflater: MenuInflater = menuInflater
        inflater.inflate(R.menu.my_menu,menu)
        return super.onCreateOptionsMenu(menu)
    }
}

只需关注注释行之后的代码,该代码块用于在我们的应用程序中为我们的菜单添加代码。现在运行您的应用程序,您可以看到结果。

输出:

想要一个节奏更快,更具竞争性的环境来学习Android的基础知识吗?
单击此处前往由我们的专家精心策划的指南,以使您立即做好行业准备!