【问题标题】:Beginning android: Working with the main pop-up menuandroid入门:使用主弹出菜单
【发布时间】:2012-09-14 05:22:30
【问题描述】:

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

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

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

干杯。

【问题讨论】:

    标签: android menu popup main


    【解决方案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>
    

    希望对您有所帮助!

    干杯

    【讨论】:

      【解决方案2】:

      它只是称为菜单。 Here is a tutorial 让您开始。在 3.0+ 中事情变得有点奇怪,但是一旦你掌握了基础知识,它应该不会太难掌握。

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

        【解决方案4】:

        看例子:

        活动:

        @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>
        

        【讨论】:

        • Java 代码在您想要拥有菜单的 Activity 中,xml 文件 (menu.xml) 在 /res/menu 菜单中。
        猜你喜欢
        • 1970-01-01
        • 2017-11-07
        • 2014-09-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多