0

抱歉,我确信这是一个常见问题,但在谷歌搜索了一段时间后,我似乎不知道我想要什么的正确 Android 术语,所以被卡住了。

我想知道如何使用与视图关联的主弹出菜单......也就是说,如果你正坐在一些活动中什么都不做并按下手机上的菜单键,如何使用那个菜单通常在包含“设置”、“退出”等的许多应用程序上打开。

我不确定这叫什么,但如果有人能指出 SDK 的适当部分,那将不胜感激。此外,如果有人知道如何在 Eclipse ADT 插件的上下文中使用此菜单,那也太好了。

干杯。

4

4 回答 4

1

正如 CaseyB 所说,它只是称为菜单。

为了快速开始使用它,您可以在 Eclipse 项目的 res 文件夹中创建一个子文件夹,并将其命名为“menu”,为视图添加一些 xml,然后从 onCreateOptionsMenu 函数调用 MenuInflator。

好的,这可能有点令人困惑,所以我提供了一些示例代码,可以帮助您入门。这段代码应该可以做到,所以当您按下菜单按钮时,您可以选择两个新活动之一来加载。

在主活动中添加:

import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu, menu);
        return true;
    }
// Define whatever other activities you can to load in here or whatever. 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case R.id.info:
            startActivity(new Intent(this, Info.class));
            break;
        case R.id.logs:
            startActivity(new Intent(this, Logs.class));
            break;
        }
        return true;
    }

menu.xml 文件:链接到您想要的任何图标图像。

<?xml version="1.0" encoding="utf-8"?>
<!-- -->
<!--  Copyright © 2012 Tutela Technologies Ltd. -->
<!--  All Rights Reserved. -->
<!-- -->
<menu
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item 
        android:id="@+id/info" 
        android:icon="@drawable/ic_menu_info_details"
        android:title="Info"></item>
    <item 
        android:id="@+id/logs" 
        android:icon="@drawable/ic_menu_report_image"
        android:title="Logs"></item>

</menu>

然后在您的 AndroidManifest.xml 中确保您记得添加新活动。

    <activity 
        android:name="com.whatever.Gui.Info" 
        android:label="@string/appTitle">
    </activity>
    <activity 
        android:name="com.whatever.Gui.Logs" 
        android:label="@string/appTitle">
    </activity>

注意:在此示例中,标签在 strings.xml 中定义

<string name="appTitle">Your App name</string>

希望这对你有帮助!

干杯

于 2012-09-21T19:00:21.877 回答
1

它只是称为菜单。 这是一个帮助您入门的教程。在 3.0+ 中事情变得有点奇怪,但是一旦你掌握了基础知识,它应该不会太难学会。

于 2012-09-21T18:50:42.003 回答
1

在 3.0 之前的版本中,这些是菜单。在最新版本的 Android 中,菜单正在被 ActionBar 取代。

关于菜单:http: //developer.android.com/guide/topics/ui/menus.html

关于菜单的教程:http ://www.androidhive.info/2011/09/how-to-create-android-menus/

于 2012-09-21T18:50:43.680 回答
1

看例子:

活动:

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

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

在 xml 中:(在 /res/menu/menu.xml 中)

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:id="@+id/SettingsMenuItem"
        android:icon="@drawable/settings"
        android:title="@string/settings"/>
</menu>
于 2012-09-21T18:53:49.037 回答