Android - res/menu 和 res/layout 之间的区别?

标签 android directory

我是 android 开发的新手,您可能会从我的问题中看出这一点。我发现我有一个 res/menu 文件夹和一个 res/layout 文件夹。它们都包含每个 Activity 的 XML 文件。但是我从来没有有意识地使用过 res/menu 文件夹!我在 res/layout 中做我所有的样式。那么我在 res/menu 中的 xml 文件中做什么?

最佳答案

它旨在与 menuInflater 一起使用,以在 Activity 的 onCreateOptionsMenu 方法中创建菜单。

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

对于此示例,main.xml 可能如下所示:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/menu_item_1"
        android:title="@string/menu_title2">
    </item>
    <item
        android:id="@+id/menu_item_2"
        android:title="@string/menu_title2">
    </item>
</menu>

并且可以通过重写 onOptionsItemSelected 方法来实现单击其中一个菜单项时要执行的操作,可能如下所示:

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
    switch (item.getItemId())
    {
    case (R.id.menu_item_1):
        this.startActivity(new Intent(this, MyFirstActivity.class));
        return true;
    case (R.id.menu_item_2):
        this.startActivity(new Intent(this, MySecondActivity.class));
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}

关于Android - res/menu 和 res/layout 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19847828/

相关文章:

java - Android:SeekBar 小部件中的自定义 Drawable 正在绘制别名图像

perl - 如何在Perl中找到文件的父目录?

PHP 使用按钮下载、删除和重命名文件

python - 在 Python 中使用 Glob 打开嵌套文件夹内的文件

perl - 当使用 Perl 的 File::Find 时,限制搜索深度的快速简便方法是什么?

file - Phonegap : Create a file in a specific folder

java - 尝试捕捉细节

android - 在 OlaCabs 等 Android 应用程序中实现 Google 位置搜索

java - 无法从 base64 字符串中获取完整的图像质量

android - 如何从 Android 应用程序打开电话簿?