`

【Android】弹出菜单popupmenu

 
阅读更多

转于:http://blog.csdn.net/zhangzeyuaaa/article/details/40711047

 

----------------------------------------------------------------------------------------

 

弹出菜单popupmenu就是点击某个组件时弹出的菜单。

Activity类:

  1. package com.zzj.ui.popupmenudemo;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.view.Menu;  
  6. import android.view.MenuInflater;  
  7. import android.view.MenuItem;  
  8. import android.view.View;  
  9. import android.widget.PopupMenu;  
  10. import android.widget.PopupMenu.OnMenuItemClickListener;  
  11. import android.widget.Toast;  
  12.   
  13. import com.zzj.ui.R;  
  14.   
  15. public class PopupMenuActivity extends Activity {  
  16.     PopupMenu popupMenu;  
  17.     Menu menu;  
  18.   
  19.     @Override  
  20.     protected void onCreate(Bundle savedInstanceState) {  
  21.         super.onCreate(savedInstanceState);  
  22.   
  23.         setContentView(R.layout.popupmenu_activity);  
  24.   
  25.         popupMenu = new PopupMenu(this, findViewById(R.id.popupmenu_btn));  
  26.         menu = popupMenu.getMenu();  
  27.   
  28.         // 通过代码添加菜单项  
  29.         menu.add(Menu.NONE, Menu.FIRST + 00"复制");  
  30.         menu.add(Menu.NONE, Menu.FIRST + 11"粘贴");  
  31.   
  32.         // 通过XML文件添加菜单项  
  33.         MenuInflater menuInflater = getMenuInflater();  
  34.         menuInflater.inflate(R.menu.popupmenu, menu);  
  35.   
  36.         // 监听事件  
  37.         popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() {  
  38.   
  39.             @Override  
  40.             public boolean onMenuItemClick(MenuItem item) {  
  41.                 switch (item.getItemId()) {  
  42.                 case R.id.news:  
  43.                     Toast.makeText(PopupMenuActivity.this"新建",  
  44.                             Toast.LENGTH_LONG).show();  
  45.                     break;  
  46.                 case R.id.open:  
  47.                     Toast.makeText(PopupMenuActivity.this"打开",  
  48.                             Toast.LENGTH_LONG).show();  
  49.                     break;  
  50.                 case Menu.FIRST + 0:  
  51.                     Toast.makeText(PopupMenuActivity.this"复制",  
  52.                             Toast.LENGTH_LONG).show();  
  53.                     break;  
  54.                 case Menu.FIRST + 1:  
  55.                     Toast.makeText(PopupMenuActivity.this"粘贴",  
  56.                             Toast.LENGTH_LONG).show();  
  57.                     break;  
  58.                 default:  
  59.                     break;  
  60.                 }  
  61.                 return false;  
  62.             }  
  63.         });  
  64.     }  
  65.   
  66.     public void popupmenu(View v) {  
  67.         popupMenu.show();  
  68.     }  
  69. }  

Activity布局文件:

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     android:orientation="vertical" >  
  6.   
  7.     <Button  
  8.         android:id="@+id/popupmenu_btn"  
  9.         android:layout_width="wrap_content"  
  10.         android:layout_height="wrap_content"  
  11.         android:onClick="popupmenu"  
  12.         android:text="弹出菜单" />  
  13.   
  14. </LinearLayout>  

popupmenu布局文件:

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <menu xmlns:android="http://schemas.android.com/apk/res/android" >  
  3.   
  4.     <item  
  5.         android:id="@+id/news"  
  6.         android:title="新建"/>  
  7.     <item  
  8.         android:id="@+id/open"  
  9.         android:title="打开"/>  
  10.   
  11. </menu>  

效果:

 

分享到:
评论

相关推荐

    Android 实现长按弹出PopupMenu 菜单栏

    主要介绍了Android 实现长按弹出PopupMenu 菜单栏,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

    实现弹出菜单PopupMenu

    作者u1aryz,源码Android-NewPopupMenu,实现弹出菜单NewPopupMenu,源码不但可以实现了点击一下弹出一个视图来,还支持实现弹出菜单。点击菜单上的任意一个按钮,菜单自动消失。菜单弹出和消失的动画不错。 ...

    Android PopupWindow实现右侧、左侧和底部弹出菜单

    Android PopupWindow实现右侧、左侧和底部弹出菜单 效果图:http://blog.csdn.net/jianfengwen/article/details/48629217

    PopuMenu弹出菜单

    在Android 3.0中,Google引入了弹出菜单(PopupMenu),在Android 4.0中,PopupMenu的功能进一步增强。

    Android PopupMenu弹出菜单的实现

    Android PopupMenu弹出菜单的实现 (1)布局文件:用于弹出菜单的处罚button: &lt;RelativeLayout xmlns:android=http://schemas.android.com/apk/res/android xmlns:tools=http://schemas.android.com/tools ...

    Android开发使用PopupMenu创建弹出式菜单完整实例

    主要介绍了Android开发使用PopupMenu创建弹出式菜单,结合完整实例形式分析了Android基于PopupMenu对象创建的弹出式菜单相关操作技巧与注意事项,需要的朋友可以参考下

    PopupMenu:使用模态方式播放多种动画的弹出菜单(视图)

    弹出菜单使用模态方式播放多种动画的弹出菜单(视图)

    Android使用列表弹窗的代码例子

    Android使用列表弹窗的代码例子。用于演示app操作弹出菜单控件PopupMenu,以及列表弹窗控件PopupListWindow的界面与功能。

    带有平滑高度动画的嵌套弹出菜单-Android开发

    级联使用平滑的高度动画构建嵌套的弹出菜单。 级联级联使用平滑的高度动画构建嵌套的弹出菜单。 它旨在替代PopupMenu,因此在您的项目中使用它仅需一个词即可:实现“ me.saket.cascade:cascade:1.0.0”-val菜单= ...

    Android中PopupMenu组件的使用实例

    要求弹出的PopupWindow里面是一个列表,我们使用时都是在里面套个ListView或RecyclerView ,现在我们不需要在做这样繁琐的工作了。 在官方android.support.v7.widget 包下提供的 PopupMenu 组件,已经被越来越多的...

    Android Menu

    Android 各种菜单,弹出菜单,打开文件子菜单,文本框的复制粘贴全选菜单效果,自定义图片文字菜单效果,PopupMenu,PopupWindow 博客地址:http://blog.csdn.net/csdnyuandaimaxuexi/article/details/48825867

    西北农林科技大学·移动软件开发·实验3

    1.学习使用ListView及其事件响应...2.学习使用弹出菜单PopupMenu及其事件响应方法。 1. 实现一个列表,其中显示班级学号姓名,提供添加功能 2.对添加的选项,通过长按某项,调用弹出菜单显示删除功能,并删除该选项。

    Android 实现微信长按菜单 -FloatMenu

    在日常开发中,长按某个view出现个菜单是很常见的需求,Google 也给我们提供了一些组件来实现,比如PopupMenu。但是在实际使用中还是发现他无法满足我们的所有需求。 比如:产品要求长按菜单出现在手指按下的位置,...

    MaterialPopupMenu:显示按部分分组的“材料”弹出菜单等

    MaterialPopupMenu:显示按部分分组的“材料”弹出菜单等

    Android学习笔记——Menu介绍(三)

    提供其他部分的命令句(command sentence)如Add按钮可以用弹出菜单提供不同的Add的操作。 提供类似于Spinner的下拉式菜单但不保持持久的选择。 那怎样显示弹出式菜单呢? 如果你在XML文件中定义了菜单,那么以下...

    WillFlow_Menu

    实现了Android中的几种常用的菜单:选项菜单(OptionMenu)、上下文菜单(ContextMenu)、弹出式菜单(PopupMenu)、子菜单(SubMenu)

Global site tag (gtag.js) - Google Analytics