Android 实现长按弹出PopupMenu 菜单栏

"Android 实现长按弹出PopupMenu 菜单栏" Android 实现长按弹出PopupMenu 菜单栏是 Android 开发中的一种常见需求,本文将详细介绍如何实现长按弹出PopupMenu 菜单栏。 我们需要在 Android 的SDK 3.0版本以后加入了一个特殊的菜单效果,它可以在任何的View上显示,根据View的位置显示菜单效果。因此,我们可以在布局文件中添加一个菜单布局,例如: ```xml <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/send" android:title="发送邮件"></item> <item android:id="@+id/look" android:title="阅读邮件"></item> <item android:id="@+id/delete" android:title="删除邮件"></item> </menu> ``` 接下来,我们需要在Activity中初始化PopupMenu对象,并设置PopupMenu的布局和点击事件。例如: ```java public class MainActivity extends AppCompatActivity { private TextView tv1; private TextView tv2; private TextView tv3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { tv1 = (TextView) findViewById(R.id.tv1); tv2 = (TextView) findViewById(R.id.tv2); tv3 = (TextView) findViewById(R.id.tv3); tv1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { myPopupMenu(v); } }); tv2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { myPopupMenu(v); } }); tv3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { myPopupMenu(v); } }); } private void myPopupMenu(View v) { //定义PopupMenu对象 PopupMenu popupMenu = new PopupMenu(MainActivity.this, v); //设置PopupMenu对象的布局 popupMenu.getMenuInflater().inflate(R.menu.menu, popupMenu.getMenu()); //设置PopupMenu的点击事件 popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()) { case R.id.send: Toast.makeText(MainActivity.this, "发送邮件", Toast.LENGTH_SHORT).show(); break; case R.id.look: Toast.makeText(MainActivity.this, "阅读邮件", Toast.LENGTH_SHORT).show(); break; case R.id.delete: Toast.makeText(MainActivity.this, "删除邮件", Toast.LENGTH_SHORT).show(); break; } return true; } }); //显示PopupMenu popupMenu.show(); } } ``` 在上面的代码中,我们首先定义了三个TextView控件,并分别对其添加了点击事件。当点击这些控件时,我们都会弹出PopupMenu对象,并根据View的位置显示菜单效果。然后,我们设置PopupMenu对象的布局和点击事件,最后显示PopupMenu对象。 需要注意的是,在Android 3.0版本以前,PopupMenu对象只能在Action Bar中使用,而在Android 3.0版本以后,PopupMenu对象可以在任何的View上显示。因此,在实现长按弹出PopupMenu 菜单栏时,需要根据不同的Android版本选择合适的实现方式。 本文详细介绍了如何实现长按弹出PopupMenu 菜单栏,并提供了详细的实例代码,具有很高的参考价值和借鉴价值。
















- 郑华滨2023-07-28这个文件给了我一个很好的思路,通过几个简单的步骤,我成功地在我的Android应用中添加了长按弹出菜单栏功能。
- 鲸阮2023-07-28我在寻找如何实现长按弹出菜单栏时,发现了这个文件,里面的步骤很清晰,让我很容易地实现了这个功能。
- 西门镜湖2023-07-28这个文件非常实用,教会了我如何在Android上实现长按弹出菜单栏,省去了我很多时间和研究的困扰。
- 深层动力2023-07-28这个文件提供了一个简单的方法来实现长按弹出菜单栏,对于初学者来说,非常友好和易于理解。
- 莫少儒2023-07-28阅读这个文件后,我了解了如何在Android中轻松地实现长按弹出菜单栏,非常感谢作者的分享。

- 粉丝: 6
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 网络时代下会计的变革与创新.docx
- 试论EPC项目管理中设计与施工的整合管理探讨.docx
- 单片机技术设计方案报告简单计算器.doc
- plc自动门课程设计.docx
- Java面向对象程序设计方案练习题.doc
- 高级AutoCAD工程项目师绘图技巧.doc
- 三菱PLC控制花样喷泉控制系统方案设计书.doc
- 作为城骨架系统建设的道路网络.doc
- 案例教学法在中等职业学校计算机专业课程教学中的应用.docx
- 小型燃气蒸汽锅炉西门子PLC-DCS控制系统.doc
- 网络信息化背景下图书资料管理的对策研究.docx
- 2012年考研专业课自测试题计算机.doc
- 《基于PLC自动化单元应用》(电力)课程标准.doc
- 《Excel在会计中的应用》教案设计.doc
- 【ppt模板】区块链数字货币白皮书商业计划书PPT模板.pptx
- 装配式技术在工程项目管理中的应用研究.docx


