效果如图:



具体实现代码如下:

package com.example.mytest;import android.app.Activity;import android.os.Bundle;import android.support.v4.app.FragmentActivity;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 {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button btn = (Button) findViewById(R.id.btn);btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {showPopupMenu(v);}});}private void showPopupMenu(View view) {// View当前PopupMenu显示的相对View的位置PopupMenu popupMenu = new PopupMenu(this, view);// menu布局popupMenu.getMenuInflater().inflate(R.menu.main, popupMenu.getMenu());// menu的item点击事件popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {@Overridepublic boolean onMenuItemClick(MenuItem item) {Toast.makeText(getApplicationContext(), item.getTitle(), Toast.LENGTH_SHORT).show();return false;}});// PopupMenu关闭事件popupMenu.setOnDismissListener(new PopupMenu.OnDismissListener() {@Overridepublic void onDismiss(PopupMenu menu) {Toast.makeText(getApplicationContext(), "关闭PopupMenu", Toast.LENGTH_SHORT).show();}});popupMenu.show();}}


更多相关文章

  1. Android解析微博小尾巴
  2. Android之Widget
  3. 关于Android(安卓)Studio关闭模拟器死机解决方案的尝试
  4. android WebView 应用内点击超链接不调用系统浏览器
  5. Android触摸事件的传递(八)-View
  6. android hover监控鼠标移动事件
  7. android framework 输入事件分析
  8. Android(安卓)Studio第十五期 - 友盟统计集成
  9. Android(安卓)3.0 r1 API中文文档(113) ——SlidingDrawer

随机推荐

  1. Android干货·收集站
  2. Android ViewGroup中事件触发和传递机制
  3. Android成长史
  4. 在Android开发中怎样使用Application类
  5. Android截屏方法总结
  6. Android 一起来看看面试必问的消息机制
  7. Android避免context相关内存溢出
  8. 如何在自己的程序中添加appWidget(附简单
  9. Android Studio 4.0 新功能与优化
  10. Android原生(Native)C开发:编译选项小结