要在一个activity中实现菜单必须重写两个方法:
1. onCreateOptionsMenu()用于创建菜单
2. onOptionsItemSelected() 用于处理点击菜单选项事件
实例代码:
package com.kevin.dialog;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class Main extends Activity {
private static final int HELPGROUP = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
private void openOptionsDialog(){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
// 设置标题
builder.setTitle(R.string.about);
// 设置对话框信息
builder.setMessage(R.string.message);
// 添加确定按钮
builder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
// 点击确定单击事件处理
@Override
public void onClick(DialogInterface dialog, int which) {
System.out.println("确定按钮被点击.");
}
});
// 添加取消按钮
builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
System.out.println("取消按钮被点击.");
}
});
// 显示对话框
builder.show();
}
// 要实现菜单必须实现以下两个函数(onCreateOptionsMenu和onOptionsItemSelected)
// 创建菜单
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(HELPGROUP, 0, 0, R.string.about);
menu.add(HELPGROUP, 1, 1, R.string.close);
return super.onCreateOptionsMenu(menu);
}
// 选择item并相应
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// 关于选项
case 0:
openOptionsDialog();
break;
// 关闭选项
case 1:
finish();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
}
分享到:
相关推荐
标题中的"Toast", "Menu", "Activity", "ListView", 和 "AlertDialog" 是Android开发中五个重要的组件或概念,下面将详细解释它们。 1. **Toast**:在Android中,Toast是一种轻量级的通知方式,它会在屏幕底部短暂...
在Android应用开发中,菜单和对话框是两个非常重要的组件,它们用于提供用户交互和信息展示。本实例源码着重展示了如何在Android应用程序中有效地利用这两种元素。 菜单(Menu)在Android中主要用于在屏幕顶部或者...
AlertDialog的类型主要有两种:警告对话框和进度对话框。警告对话框是最常见的,适合展示各种交互界面;而进度对话框则专门用于显示进度条或进度环,通常在后台任务执行时使用,它是AlertDialog的扩展形式,同样支持...
这样,对话框会继承Activity的一些特性,如MENU键显示Activity的菜单,音量键调节Activity的音量。 如果要在`onCreateDialog(int)`方法之外创建对话框,需要通过`setOwnerActivity(Activity)`将其与Activity关联。...
对于简单的信息提示,可以使用`AlertDialog.Builder`构建一个包含标题、消息和按钮的对话框: ```java new AlertDialog.Builder(this) .setTitle("提示") .setMessage("是否确定退出游戏?") .setPositiveButton...
例如,`AlertDialog`的`Builder`方法可以用来创建一个对话框,设置图标、标题和消息,并添加不同类型的按钮,如取消、中立和确定按钮。点击这些按钮后,可以通过监听器执行相应的操作,如`OnClickListener`,并在...
在Android中,我们通常使用`NavigationView`和`DrawerLayout`这两个组件来实现这种功能。`NavigationView`用于创建菜单项,而`DrawerLayout`则作为容器,管理抽屉的滑入滑出行为。接下来,我们将详细探讨如何使用这...
在Android应用开发中,上下文菜单(Context Menu)和对话框(Dialog)是两种常见的用户交互界面元素,它们在提供用户操作选项和展示重要信息时起到关键作用。本实验课程旨在帮助开发者深入理解和熟练运用这两种功能。 *...
Android提供了多种类型的对话框,如AlertDialog、ProgressDialog和DatePickerDialog等,可以通过DialogFragment或直接使用Dialog类创建。 3. **菜单栏(Menu Bar)**:在Android应用中,菜单通常出现在屏幕顶部的...
关于Android对话框,`Dialog`是其基本类,提供了多种展示方式,包括一般对话框、列表对话框、单选按钮对话框和多选按钮对话框。`Dialog`对象的视图设置实际上调用了`Window`对象的`setContentView()`方法。在创建和...
1. 创建DialogFragment子类,重写onCreateDialog()方法,使用AlertDialog.Builder构建对话框实例。 2. 在需要显示对话框的地方,实例化DialogFragment并调用show()方法。 3. 可以通过设置对话框的标题、消息、按钮等...
Android 系统提供了四种对话框:警告对话框(AlertDialog)、进度对话框(ProgressDialog)、日期选择对话框(DatePickerDialog)和时间选择对话框(TimePickerDialog)。 在本实验中,我们还学习了如何在 Android ...
在Android开发中,单选菜单(Single-Choice-Menu)是一种常见的用户界面元素,用于提供一组选项,用户只能选择其中一个。这个"Single-Choice-Menu.zip"文件包含了一个关于如何在Android应用中实现单选菜单的示例代码...
2. **Dialog类**:自定义的Dialog类,继承自`AlertDialog.Builder`或`DialogFragment`,在这个类中处理Toolbar的设置和Menu的创建。 3. **Menu资源文件**:XML文件,定义了要在Dialog中展示的Menu项及其属性,如图标...
8. **Context Menu**:虽然不是严格意义上的对话框,但在某些场景下可以替代对话框使用,例如在长按操作时显示选项菜单。 使用Dialog时,需要注意以下几点: - 对话框应当简洁明了,避免过多信息导致用户困扰。 - ...
在这个例子中,`showAboutDialog()`和`openPrivacyPolicy()`是自定义的方法,用于展示关于对话框和打开隐私政策页面。 为了创建"关于"页面,我们可以使用`AlertDialog`或者自定义布局。`AlertDialog`的构建方式如下...
不过,现在大多数设备和应用使用的是ActionBar的Overflow Menu,而不是物理Menu键。在这种情况下,我们需要重写`onCreateOptionsMenu(Menu menu)`方法来创建菜单项,然后在`onOptionsItemSelected(MenuItem item)`中...
在Activity或Fragment中,你可以通过`AlertDialog.Builder`来构建对话框。首先,调用`setMenuInfo`方法设置菜单资源,然后调用`create`方法生成对话框实例。 示例代码: ```java AlertDialog.Builder builder =...