抱歉,我确信这是一个常见的问题,但是在谷歌搜索了一段时间之后,我似乎不知道我想要的正确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;
}
菜单.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>
然后在您的 Android 清单中.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>
注意:在此示例中,标签是在字符串中定义的.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>