layout.xml

<RelativeLayout xmlns:android="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/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="点击弹出PopupMenu菜单"
android:layout_centerInParent="true"
android:onClick="onOpenPopup"
android:textSize="20sp"/> </RelativeLayout>

menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
android:id="@+id/popoMenu1"
android:title="菜单一"/>
<item
android:id="@+id/popoMenu2"
android:title="菜单二"/>
</menu>

main.java

package com.example.day10_popumenu;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.PopupMenu;
import android.widget.Toast;
import android.widget.PopupMenu.OnMenuItemClickListener;
import android.widget.TextView;
/**
* Popupmenu 泡泡菜单,菜单放在对应的控件下面,不能自动触发
* 1.PopuMenu在3.0以后的版本使用
* 2.创建
*
* @author my
*
*/
public class MainActivity extends Activity { private Button button; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button); }
public void onOpenPoPup(View v){
/**
* 创建Popupmenu对象,参数2表示将popummenu放大到对应的控件下面
*/
PopupMenu popupMenu = new PopupMenu(MainActivity.this, button);
//将xml的menu加载到popupMenu中
popupMenu.getMenuInflater().inflate(R.menu.main, popupMenu.getMenu());
//展示--点击menuitem选项后,会自动隐藏
popupMenu.show();
//为popupMenu 设置点击事件
popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override
public boolean onMenuItemClick(MenuItem item) {
Toast.makeText(MainActivity.this, item.getItemId(), 0).show();
return true;
}
});
} }

最新文章

  1. Training
  2. 基于percona 5.7的xtrabackup实践
  3. redis的单实例配置+web链接redis
  4. C语言综述
  5. sql: 生日三个月内有效
  6. angularjs项目中关于服务的应用
  7. cas sso单点登录系列7_ 单点登录cas常见问题系列汇总
  8. kaggle之电影评论文本情感分类
  9. Redis中的数据对象
  10. widows下的进程与服务
  11. 构造方法、This关键字、静态与封装的特性与作用
  12. requests的基本用法
  13. MFC 使用Skin++ 美化皮肤
  14. 记录一下msf的学习使用
  15. Javascript你不知道的那些事!(数字计算篇-变态篇)无意中聊天发现的一些奇怪的事情
  16. Valid Palindrome leetcode java
  17. Lightbox JS v2.0图片切换效果
  18. 用.net开发音频编辑软件
  19. android跨进程通信(IPC)——AIDL
  20. Hadoop中RPC协议小例子报错java.lang.reflect.UndeclaredThrowableException解决方法

热门文章

  1. Java 时间转换问题总结
  2. Java WebService简单使用
  3. bzoj 1060 [ZJOI2007]时态同步(树形DP)
  4. 五个小例子教你搞懂 JavaScript 作用域问题
  5. 【转】Spark是基于内存的分布式计算引擎
  6. leetcode@ [139/140] Word Break &amp; Word Break II
  7. Hadoop MapReduce概念学习系列之mr的Shuffle(二十二)
  8. JS 计算日期天数差
  9. [C语言 - 11] 语言编译执行
  10. 软交换和IMS是什么关系