`

【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 菜单栏" Android 实现长按弹出PopupMenu 菜单栏是 Android 开发中的一种常见需求,本文将详细介绍如何实现长按弹出PopupMenu 菜单栏。 首先,我们需要在 Android 的SDK 3.0版本...

    Android-Android仿Qzone底部导航栏加号弹出菜单

    在Android应用开发中,创建一个类似Qzone底部导航栏的加号弹出菜单是一个常见的需求。这个功能可以增强用户体验,使用户能够轻松访问更多功能或服务。本文将深入讲解如何实现这一设计,主要关注Android中的菜单视图...

    popupMenu弹出菜单

    `PopupMenu`是Android SDK提供的一种轻量级的菜单实现,它可以在用户点击某个View时,从该View的位置弹出一个包含多个选项的菜单。这种设计模式在很多场合都非常有用,比如当用户需要对某项内容进行更多操作时。 ##...

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

    以上就是使用PopupWindow在Android中实现右侧、左侧和底部弹出菜单的基本流程。通过自定义布局、动画和交互,你可以创建出符合应用风格的个性化菜单。记得在实际开发中根据具体需求进行调整,确保弹出菜单的易用性和...

    Android PopupMenu弹出菜单的实现

    Android PopupMenu 弹出菜单的实现 Android PopupMenu 弹出菜单是 Android 开发中常用的交互方式之一,它可以提供给用户更多的选择和操作。下面将详细介绍 Android PopupMenu 弹出菜单的实现。 一、布局文件 首先...

    实现弹出菜单PopupMenu

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

    Flutter高阶技术:如何实现自定义弹出菜单框

    在Flutter开发中,自定义弹出菜单框是提高应用交互性和用户体验的重要手段。Flutter作为一个跨平台的移动开发框架,提供了丰富的API和工具,使得开发者能够轻松实现这样的功能。本篇文章将深入探讨如何在Flutter中...

    Android右上角弹出菜单

    首先,Android中的弹出菜单主要依赖`PopupMenu`类,这是Android SDK提供的一种轻量级的弹出菜单解决方案。`PopupMenu`通常与`ImageView`或`Button`等控件结合使用,当用户点击该控件时显示菜单。以下是一个基本的`...

    综合android多种动画的动态弹出式半圆型菜单

    5. **时机控制**: 弹出菜单的时机要恰当,通常是在用户触发特定行为时。这可以通过监听按钮点击或者其他触发事件来实现。例如,可以为JumpButton设置OnClickListener,当按钮被点击时,弹出半圆型菜单。 6. **兼容...

    模仿UC工具栏与弹出菜单

    在Android应用开发中,设计一个用户友好的界面是至关重要的,而工具栏(ToolBar)和弹出菜单(PopupMenu)则是实现这一目标的关键组件。本示例"模仿UC工具栏与弹出菜单"旨在帮助初学者理解和实践这两个组件的用法,...

    安卓 弹出 菜单 实例

    在Android开发中,弹出菜单(PopupMenu)是一种常用的交互元素,它可以在用户点击特定控件时显示一组选项。本文将详细讲解如何在Android应用...通过学习和修改这个例子,你可以更好地理解和掌握Android弹出菜单的使用。

    使用PopupWindow实现的Popup菜单,PopupMenu可以根据ListView item的位置变化

    总的来说,`PopupWindow`结合`ListView`可以实现动态的、根据item位置变化的弹出菜单,提供了丰富的交互体验。通过熟练掌握`PopupWindow`的使用,开发者可以为Android应用增添更多定制化的功能和交互设计。

    listview 长按弹出菜单

    PopupMenu提供了一种轻量级的弹出菜单,它可以从视图的下方或右侧弹出,包含一系列可供选择的选项。首先,你需要在ListView的Adapter中为每一项设置长按监听器,然后在监听器内部创建并显示PopupMenu。 2. **长按...

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

    PopupMenu是一种常用的Android弹出式菜单控件,通过PopupMenu对象可以创建一个弹出式菜单,该菜单可以显示在指定的组件上。PopupMenu控件可以增加多个菜单项,每个菜单项可以设置点击事件监听器来响应用户的点击操作...

    右下角点击弹出菜单

    1. 弹出菜单概念:弹出菜单,也称为下拉菜单或快捷菜单,是一种UI元素,当用户与特定触发器交互时,如鼠标右键点击或在特定区域触摸屏幕,会显示一个包含多个选项的列表。这种设计节省了屏幕空间,避免了在主界面上...

    android 弹出窗口

    下面将详细讲解几种常见的Android弹出窗口类型及其使用方法。 1. **对话框(Dialog)** 对话框是最基础的弹出窗口,通常用于向用户展示警告、确认信息或收集用户输入。Android提供了多种内置对话框样式,如...

    Android中常见的弹框:Spinner、Dialog、PopupMenu、PopupWindow

    PopupMenu则是一种轻量级的弹出菜单,通常与按钮或其他视图关联,点击后会在其下方显示一个菜单。创建PopupMenu: ```java PopupMenu popupMenu = new PopupMenu(this, button); popupMenu.getMenuInflater()....

    android 弹出式窗口自定义菜单栏

    总的来说,自定义弹出式菜单栏是Android开发中的一个实用技巧,它可以帮助我们构建更加个性化的应用界面。通过深入理解`PopupWindow`和`Dialog`的工作原理,结合自定义布局和事件处理,我们可以创建出符合项目需求的...

Global site tag (gtag.js) - Google Analytics