popupmenu and menu

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
一:

Android Popup Menu Example

1. File: activity_main.xml
<RelativeLayout xmlns:androclass="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"  
    tools:context=".MainActivity" >  
  
    <Button  
        android:id="@+id/button1"  
        android:layout_width="wrap_content"  
        android:layout_height="wrap_content"  
        android:layout_alignParentLeft="true"  
        android:layout_alignParentTop="true"  
        android:layout_marginLeft="62dp"  
        android:layout_marginTop="50dp"  
        android:text="Show Popup" />  
  
</RelativeLayout>  

2. File: poupup_menu.xml
<menu xmlns:androclass="http://schemas.android.com/apk/res/android" >  
  
    <item  
        android:id="@+id/one"  
        android:title="One"/>  
      
    <item  
        android:id="@+id/two"  
        android:title="Two"/>  
        
    <item  
        android:id="@+id/three"  
        android:title="Three"/>  
          
</menu>  
package com.javatpoint.popupmenu;  
import android.os.Bundle;  
import android.app.Activity;  
import android.view.Menu;  
import android.view.MenuItem;  
import android.view.View;  
import android.view.View.OnClickListener;  
import android.widget.Button;  
import android.widget.PopupMenu;  
import android.widget.Toast;  
public class MainActivity extends Activity {  
Button button1;  
           
         @Override  
         protected void onCreate(Bundle savedInstanceState) {  
          super.onCreate(savedInstanceState);  
          setContentView(R.layout.activity_main);  
            
          button1 = (Button) findViewById(R.id.button1);  
          button1.setOnClickListener(new OnClickListener() {  
           
           @Override  
           public void onClick(View v) {  
            //Creating the instance of PopupMenu  
            PopupMenu popup = new PopupMenu(MainActivity.this, button1);  
            //Inflating the Popup using xml file  
            popup.getMenuInflater().inflate(R.menu.popup_menu, popup.getMenu());  
           
            //registering popup with OnMenuItemClickListener  
            popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {  
             public boolean onMenuItemClick(MenuItem item) {  
              Toast.makeText(MainActivity.this,"You Clicked : " + item.getTitle(),Toast.LENGTH_SHORT).show();  
              return true;  
             }  
            });  
  
            popup.show();//showing popup menu  
           }  
          });//closing the setOnClickListener method  
         }  
    }  
效果图
android popup menu example output 1 android popup menu example output 2 android popup menu example output 3

二:popupmenu and menu

So finally I found solution. When you want to anchor popupmenu to ActionItem in ActionBar you need to find view that renders ActionItem. Simple find view with findViewById() where id is same as id of your menu item in xml.

DISPLAYING POPUP:


public boolean onOptionsItemSelected(MenuItem item) {
    // ...

    View menuItemView = findViewById(R.id.menu_overflow); // SAME ID AS MENU ID
    PopupMenu popupMenu = new PopupMenu(this, menuItemView); 
    popupMenu.inflate(R.menu.counters_overflow);
    // ...
    popupMenu.show();
    // ...
    return true;
}
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

     ....

     <item
    android:id="@+id/menu_overflow"
    android:icon="@drawable/ic_overflow"
    android:showAsAction="ifRoom"
    android:title="@string/menu_overflow"/>

     ....

</menu>



微信主界面右上角的加号的点击功能的实现 popupMenu Android Material Design 引入的PopupMenu类似过去的上下文菜单,但是更灵活。 如图所示: 使用方法 res/menu下面新建 popup_menu.xml ; 里面内容可以随时修改 在activity或者fragment中使用PopupMenu 其中MoreMenu是一个按钮,由他触发PopupMenu 阅读详情

相关推荐

Add Action Items and Overflow Menu to ActionBar

Add Action Items and Overflow Menu to ActionBar。源码

如何在ActionBar上面添加popup menu

标签:  如何  分类: Android        在Android文档中,对于popup menu的讲解非常的简单,只是说了怎么创建。popup menu有个特点就是必须提供一个anchor view来让popup menu依附于它。sdk文档中有创建popup menu 的函数:  public void showPopup(View v)

极致的专注 无限的热情 4482

Android ActionBar应用一:ActionBar返回任意页面和顶部搜索栏实现

使用ActionBar实现返回任意界面和顶部搜索功能

苦咖啡的自留地 5085

使用popwindows实现Actionbar右上角的小菜单

近日在开发过程中使用popwindows做了一套仿Actionbar上的小菜单,感觉效果还不错,就对其做了一个简单的封装,方便外部调用,由于实现也不是很复杂,所以在这里就不讲解代码了,下来简单描述一下使用场景及步骤。 源码下载地址:点击下载 使用场景: 由于很多情况下我们的应用需要一个个性化的标题栏,除了自定义actionbar以外,还有一个更为简便的方法就是将actionbar直接隐藏,自

itbobby的专栏 1333

Android菜单MenuPopupMenu的使用

选项菜单和子菜单 菜单项关联的Activity 上下文菜单 选项菜单和子菜单SubMenu Java代码中定义 代码区 使用XML文件定义 Activity代码 menu_mainxml代码 contextxml代码 如何菜单项设置关联Activity 上下文菜单 开发上下文菜单的步骤如下 代码区 使用PopupMenu创建弹出式菜单 创建步骤 popup_menu

aserbao的博客 1万+

Menu键控制PopupMenu的相关bug及其避免方法

1.通过menu键控制的菜单从下弹出,如图1-1所示:核心代码是调用Activity的接口以及xml文件的menu public boolean onCreateOptionsMenu(Menu menu){ getMenuInflater().inflate(R.menu.main, menu); return true; } public boolean onMenu

lxj9457的专栏 837

Android中PopupMenu的使用

Android中PopupMenu的使用 给大家推荐一个叫PopupMenu的玩意儿,大家没事的时候可以用来消遣消遣。。 这个效果图是基于ListView实现的, 其实这玩意儿哪个控件上都可以使用,此处只是个例子: 这是我的一种实现方式,在练习的时候应该会很多人这样用... 总之,这东西用来消遣就好。。 这是一个PopupMenu的对象给实现的,其内部就是利用这个P

阿尔卑斯的春天oO 的博客 4262

记录一下Popmenu的使用以及一些坑:自定义PopupmenuMenuPopupmenu添加icon

今天就记录一下昨天写bug的时候使用Popupmenu的时候遇到的一些问题吧 尝试使用Popupmenu,避免不必要的坑壹、Popupmenu的基本使用,定义和获取对应的menu菜单项。贰、Popupmenu设置字体风格和弹出定位。添加分割线。叁、为Popupmenu添加icon:两种方法:反射、子菜单模式a、利用反射强制展示icon。这里面有点坑。b、子菜单模式,不用反射,直接显示。肆、动态管...

Mr_Van的博客 4047

PopupMenu的应用

PopupMenu可以非常方便的在指定view的下面显示一个弹出菜单,类似于actionbar溢出菜单的效果。它的菜单选项可以来自于menu资源,因此非常方便。下面是在网上找的一个PopupMenu的运行图片。 使用方法 res/menu下面新建 popup_menu.xml <menu xmlns:android="http://schemas.a...

dipojiao0712的博客 163

Android RecyclerView实现长按弹出PopupMenu菜单

话不多说,直接上效果图: RecyclerView 和 Fragment的基础框架我就不写了,直接上给你们关键代码,相信问到这个问题的你们,之前的这两个知识点都有了一定基础,如果还是有点懵,可以参考我之前写的两篇博文: Fragment: https://mp.csdn.net/mdeditor/95904365# RecyclerView:https://blog.csdn.net/qq_27...

qq_27494201的博客 4844

Android应用中菜单(Menu)的位置显示问题

Android应用中菜单(Menu)的位置显示问题

宋金时的专栏 6万+

Android之PopupMenu

基本步骤: 1、创建Menu 2、实例化PopupMenu对象 3、加载菜单资源:利用MenuInflater 4、为PopupMenu设置点击监听器 5、千万不要忘记这一步 【注意】在API版本11之后的设备才可以使用 一、一、创建Menu 1、在res文件夹中新建文件夹menu; 2、在menu文件夹中新建popup.xml(文件名随意),文件内容如下,item就是menu菜单中的条目; &l...

qq_39438055的博客 1981

Android中创建PopupMenu弹出式菜单

之前写过一篇创建option menu的文章:Android中创建option menu 本文主要是讲如何创建PopupMenu弹出式菜单 1、首先创建menu文件menu2.xml: <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/...

diejiankuai3444的博客 345

Android PopupMenu简单使用

额,现在app里经常要使用弹出菜单,起初我用popupWindow来处理,虽说能处理,但明显不是最适合菜单展示的方式啊,后来改用PopupMenu来实现,发现变得好简单啦,下面给个简单使用例子,相信你很快能看明白: @TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH) private void showPopUpWindow(View a

lttclaw_的专栏 656

android popupmenu 动态添加,Android PopupMenu弹出菜单的实现

Android PopupMenu弹出菜单的实现(1)布局文件:用于弹出菜单的处罚button:xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activ...

weixin_42308943的博客 254

android menu遮盖,Android之SubMenuPopupMenu菜单的使用

选项菜单 SubMenupublic class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);}@Overridepublic boolean onCreateOptionsMenu(Men...

weixin_29062865的博客 344

PopupMenu的简要使用

PopupMenu的创建,使用及常见用法 一:功能概述 PopupMenu可以非常方便的在指定view的下面显示一个弹出菜单,该弹出菜单的位置是可变的。在一些应用里面例如浏览器里面长按屏幕会显示弹出菜单。 二:创建基本流程 1:创建菜单布局 先在res目录下新建menu菜单,如图所示 接着自定义一个xml布局,图中是我为了方便测试建立两个布局文件,这里不用疑惑。 xml代码如下: <?xml version="1.0" encoding="utf-8"?> <menu xmlns:and

kicinio的博客 2844

iOS14+ UIMenuAndroid PopupMenu无缝集成:@react-native-menu/menu核心功能解析

在移动应用开发中,实现跨平台一致的菜单交互体验一直是开发者面临的挑战。@react-native-menu/menu作为一款专注于菜单组件的React Native库,通过深度整合iOS14+的UIMenuAndroid的PopupMenu,为开发者提供了一套统一的API接口,轻松实现原生级别的菜单交互效果。本文将详细解析该库的核心功能、安装配置及使用方法,帮助开发者快速掌握这一高效工具。 #

gitblog_01416的博客 425
上一篇: 安卓用手指触碰屏幕缩放和移动,三指触碰屏幕旋转图片
下一篇: 使用intent调用系统照相机拍照
濯君
博客等级 码龄11年 148粉丝 195原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值