android 弹出菜单
<!-- 定义基础布局LinearLayout -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical">
<!-- 定义TextView控件 -->
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="请按键盘物理菜单键,弹出选项菜单"
/>
</LinearLayout>
package com.example.yanlei.yl2; import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast; //导入必备的包 public class MainActivity extends AppCompatActivity { //定义Menu中每个菜单选项的Id
private final static int Menu_1 = Menu.FIRST;
private final static int Menu_2 = Menu.FIRST + 1;
private final static int Menu_3 = Menu.FIRST + 2;
private final static int Menu_4 = Menu.FIRST + 3;
private final static int Menu_5 = Menu.FIRST + 4;
private final static int Menu_6 = Menu.FIRST + 5;
private final static int Menu_7 = Menu.FIRST + 6; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); // 调用父类的onCreate方法
// 通过setContentView方法设置当前页面的布局文件为activity_main
setContentView(R.layout.activity_main);
} //创建Menu菜单的回调方法
public boolean onCreateOptionsMenu(Menu m) {
//参数m就是拿到的当前Activity菜单对象
//想要给当前页面添加方法的话就add进去即可
//add方法的参数:add(分组id,itemid, 排序, 菜单文字)
m.add(0, Menu_1, 0, "编辑模式");
m.add(0, Menu_2, 0, "修改壁纸");
m.add(0, Menu_3, 0, "全局搜索");
m.add(0, Menu_4, 0, "桌面缩略图");
m.add(0, Menu_5, 0, "桌面效果");
m.add(0, Menu_6, 0, "系统设置");
m.add(0, Menu_7, 0, "用户信息");
return super.onCreateOptionsMenu(m);
} //Menu菜单选项的选项选择的回调事件
public boolean onOptionsItemSelected(MenuItem item) {
//参数为用户选择的菜单选项对象
//根据菜单选项的id来执行相应的功能
switch (item.getItemId()) {
case 1:
Toast.makeText(this, "你点击了编辑模式选项", Toast.LENGTH_SHORT).show();
break;
case 2:
Toast.makeText(this, "你点击了修改壁纸", Toast.LENGTH_SHORT).show();
break;
case 3:
Toast.makeText(this, "你点击了全局搜索", Toast.LENGTH_SHORT).show();
break;
case 4:
Toast.makeText(this, "你点击了桌面缩略图", Toast.LENGTH_SHORT).show();
break;
case 5:
Toast.makeText(this, "你点击了桌面效果", Toast.LENGTH_SHORT).show();
break;
case 6:
Toast.makeText(this, "你点击了系统设置", Toast.LENGTH_SHORT).show();
break;
case 7:
Toast.makeText(this, "你点击了用户信息", Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
} // 选项菜单关闭时的回调方法
public void onOptionsMenuClosed(Menu menu) {
Log.e("onOptionsMenuClosed","用户菜单关闭了");
} // 菜单显示之前的回调方法
public boolean onPrepareOptionsMenu(Menu menu) {
Log.e("onPrepareOptionsMenu","用户菜单准备好被显示了");
//方法返回true,就会显示Menu,否则Menu不会被显示
return true;
} }
android 弹出菜单的更多相关文章
- 【转】 教你如何创建类似QQ的android弹出菜单
原文地址:http://www.apkbus.com/android-18034-1-1.html 大家可能看到android的自带的系统菜单比较难看,如图: 2011-12-4 23:13 上传 下 ...
- android 单选、多选弹出菜单
菜单单选窗口: import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInte ...
- Android 使用PopupWindow实现弹出菜单
在本文当中,我将会与大家分享一个封装了PopupWindow实现弹出菜单的类,并说明它的实现与使用. 因对界面的需求,android原生的弹出菜单已不能满足我们的需求,自定义菜单成了我们的唯一选择,在 ...
- 【Android】创建Popwindow弹出菜单的两种方式
方法一的Activity package com.app.test02; import android.app.Activity; import android.os.Bundle; import a ...
- Android ListView两种长按弹出菜单方式
转自:http://www.cnblogs.com/yejiurui/p/3247527.html package com.wyl.download_demo; import java.util.Ar ...
- 【转】android创建Popwindow弹出菜单的两种方式
方法一的Activity package com.app.test02; import android.app.Activity; import android.os.Bundle; import a ...
- Android开发技巧——使用PopupWindow实现弹出菜单
在本文当中,我将会与大家分享一个封装了PopupWindow实现弹出菜单的类,并说明它的实现与使用. 因对界面的需求,android原生的弹出菜单已不能满足我们的需求,自定义菜单成了我们的唯一选择,在 ...
- 【Android】5.6 弹出菜单(PopUp Menus)
分类:C#.Android.VS2015: 创建日期:2016-02-07 一.简介 功能描述:用户单击按钮弹出菜单.当用户选择一个菜单项,会触发MenuItemClick事件并让弹出的菜单消失:如果 ...
- Android ListView 长按列表弹出菜单
Android ListView 长按列表弹出菜单 设置长按菜单 listView.setOnCreateContextMenuListener(new View.OnCreateContextMen ...
随机推荐
- div section article区分--20150227
div section article ,语义是从无到有,逐渐增强的.div 无任何语义,仅仅用作样式化或者脚本化的钩子(hook),对于一段主题性的内容,则就适用 section,而假如这段内容可以 ...
- centOS下jenkins
转:centos7搭建jenkins小记 转自:https://segmentfault.com/a/1190000007086764 安装java环境 1.查看服务器版本 centos7,继续. c ...
- String中indexof函数的用法
int indexOf(int ch) 返回指定字符在此字符串中第一次出现处的索引. int indexOf(int ch, int fromIndex) 从指定的索引开始搜索,返回在此字符串中第一次 ...
- python学习第一天 计算机基础知识
目录 什么是编程语言 什么是编程? 为什么要编程? 计算机5大组成分别有什么作用? qq启动的流程? 建议相关学习 课外 什么是编程语言 什么是编程语言? python和中文.英语一样,都是一门语言, ...
- 【转】4w+1h 教你如何做用户画像
记得14年开始做用户画像的时候,对于用户画像完全没有概念,以为是要画一幅幅图画,经过两年多的学习和理解,渐渐的总结出了一些方法和技巧,在这里就通过4个W英文字母开头和1个H英文字母开头的单词和大家分享 ...
- python-leepcode-作用解析 - 5-27
30 找不同 给定两个字符串 s 和 t,它们只包含小写字母. 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母. 请找出在 t 中被添加的字母. 示例: 输入: s = "a ...
- Android App性能自动化评测方法
前言 App运行在设备上的性能表现也是质量保障的一个重要环节.因此,当我们确保了基本功能的准确之后,还需要有一定的方法评测App在不同设备上的性能表现.本文将从性能指标,评测方法,自动化体系建设等三个 ...
- BNUOJ 6727 Bone Collector
Bone Collector Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HDU. Origin ...
- php排序介绍_冒泡排序_选择排序法_插入排序法_快速排序法
这里我们介绍一些常用的排序方法,排序是一个程序员的基本功,所谓排序就是对一组数据,按照某个顺序排列的过程. 充效率看 冒泡排序法<选择排序法<插入排序法 排序分两大类: 内部排序法 交换式 ...
- nginx的详解(四)
10.nginx的访问控制及DDOS预防1)访问控制配置基于各种原因,Ningx有时要进行访问控制.比如说,一般网站的后台都不能让外部访问,所以要添加 IP 限制,通常只允许公司的IP访问.访问控制就 ...