抱歉,我确信这是一个常见问题,但在谷歌搜索了一段时间后,我似乎不知道我想要什么的正确 Android 术语,所以被卡住了。
我想知道如何使用与视图关联的主弹出菜单......也就是说,如果你正坐在一些活动中什么都不做并按下手机上的菜单键,如何使用那个菜单通常在包含“设置”、“退出”等的许多应用程序上打开。
我不确定这叫什么,但如果有人能指出 SDK 的适当部分,那将不胜感激。此外,如果有人知道如何在 Eclipse ADT 插件的上下文中使用此菜单,那也太好了。
干杯。
正如 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>
希望这对你有帮助!
干杯
它只是称为菜单。 这是一个帮助您入门的教程。在 3.0+ 中事情变得有点奇怪,但是一旦你掌握了基础知识,它应该不会太难学会。
在 3.0 之前的版本中,这些是菜单。在最新版本的 Android 中,菜单正在被 ActionBar 取代。
关于菜单:http: //developer.android.com/guide/topics/ui/menus.html
关于菜单的教程:http ://www.androidhive.info/2011/09/how-to-create-android-menus/
看例子:
活动:
@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>