android popupmenu 动态添加,Android开发使用PopupMenu创建弹出式菜单完整实例
本文实例讲述了Android开发使用PopupMenu创建弹出式菜单。分享给大家供大家参考,具体如下:
简介:
PopupMenu 代表弹出式菜单,它会在指定组件上,默认情况下,PopupMenu会显示该组件,PopupMenu可增加多个菜单项。
实际效果:
具体实现部分:
首先是主活动中的调用:
public class MainActivity extends Activity {
PopupMenu popupMenu = null ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void onPopupButtonClick(View button){
//创建PopupMenu对象
popupMenu = new PopupMenu(this, button);
//将 R.menu.menu_main 菜单资源加载到popup中
getMenuInflater().inflate(R.menu.menu_main,popupMenu.getMenu());
//为popupMenu选项添加监听器
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()){
case R.id.plain_item:
//隐藏对话框
popupMenu.dismiss();
break;
default:
Toast.makeText(MainActivity.this,"you clicked->" + item.getTitle(), Toast.LENGTH_SHORT).show();
}
return true;
}
});
popupMenu.show();
}
}
在布局文件中添加点击事件:
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
android:id="@+id/txt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="onPopupButtonClick"
android:text="click here to text PopupMenu"
android:textSize="25dp"/>
菜单的布局文件:
一、在 /res 下建立 /menu文件夹
二、在menu文件夹下建立:menu_main.xml:
android:icon="@drawable/seek02">
android:id="@+id/font_10"
android:title="font_10"/>
android:id="@+id/font_12"
android:title="font_12"/>
android:id="@+id/font_14"
android:title="font_14"/>
android:id="@+id/font_16"
android:title="font_16"/>
android:id="@+id/font_18"
android:title="font_18"/>
android:title="plain_item"/>
android:icon="@drawable/seek03">
android:id="@+id/red_font"
android:title="red_title"/>
android:id="@+id/green_font"
android:title="red_title"/>
android:id="@+id/blue_font"
android:title="red_title"/>
三、在menu文件夹下建立:context.xml
android:id="@+id/red"
android:title="red_title"
android:alphabeticShortcut="r"/>
android:id="@+id/green"
android:title="red_title"
android:alphabeticShortcut="g"/>
android:id="@+id/blue"
android:title="red_title"
android:alphabeticShortcut="b"/>
希望本文所述对大家Android程序设计有所帮助。
android popupmenu 动态添加,Android开发使用PopupMenu创建弹出式菜单完整实例相关推荐
- android popupmenu 动态添加,Android PopupMenu 的使用
Android 轻量化组件 PopupMenu 的使用 估计很多人遇到过这种场景: 要求弹出的PopupWindow里面是一个列表,我们使用时都是在里面套个ListView或RecyclerView ...
- android popupmenu 动态添加,Android PopupMenu弹出菜单的实现
Android PopupMenu弹出菜单的实现 (1)布局文件:用于弹出菜单的处罚button: xmlns:tools="http://schemas.android.com/tools ...
- android popupmenu 动态添加,android中PopupMenu的使用
PopupMenu可以非常方便的在指定view的下面显示一个弹出菜单,类似于actionbar溢出菜单的效果.它的菜单选项可以来自于menu资源,因此非常方便.下面是在网上找的一个PopupMenu的 ...
- android popupmenu 动态添加,Android简单实现列表菜单--PopupMenu的简单使用。
最近发现PopupMenu用来做菜单非常的方便,而且使用也非常的简单,下面我们就来看下如何使用的吧. 首先在布局文件中创建两个Button. xmlns:android="http://sc ...
- android fragment动态添加,Android动态添加Fragment
效果图如下: 项目结构图如下: Fragment1: package com.demo.dongtaifragment; import android.app.Fragment; import and ...
- android radiogroup 添加,如何在android中动态添加textview到radiogroup
大家好, 我们想动态地在radiogroup旁边添加textview.基于服务响应,我们需要在不使用xml的情况下将标签添加到radiogroup. 在某些情况下基于最长无线电如何在android中动 ...
- Android实现动态贴纸,Android开发之仿微博贴纸效果实现——进阶篇
上个月写了一篇<Android开发之仿微博贴纸效果实现--基础篇>,文章中提到还有一篇进阶篇要写,很早就想动笔了,因中途去维护了开源库<高仿微信图片选择器2.0版本>,导致耽搁 ...
- android的动态注册,Android应用开发之BroadcastReceiver(广播)的静态注册和动态注册 --Android开发...
本文将带你了解Android应用开发之BroadcastReceiver(广播)的静态注册和动态注册 --Android开发,希望本文对大家学Android有所帮助 BroadcastReceiver ...
- android ,动态布局 butterknife,与Butterknife绑定在android中动态添加视图
如何绑定布局中存在的视图,该视图使用ButterKnife动态添加到父视图中. 我有一个LinearLayout说容器.我有一个自定义布局,其中包含两个按钮,将此布局称为子视图 在活动中,我将chil ...
最新文章
- 分类问题-样本权重(sample_weight)和类别权重(class_weight)
- C语言回调函数Demo - Win32版
- Python之pandas:pandas.set_option函数的参数详细解释
- 2011年计算机等级考试二级java笔试练习题(10)_2010年3月计算机等级考试二级Java笔试题及答案...
- 利用反射球实现镜面效果
- c++实现多态的方法 虚表
- html 布局满屏,CSS全屏布局的5种方式
- 基于java的数据结构学习——数组实现的栈以及简单应用
- 神州信息预计2020年全年净利润4.35亿至6亿元
- 2021教师资格证中学科目二简答汇总分享
- 3分钟tips:协方差和相关系数的异同
- Grub 启动时的 Error 13: Invalid or unsupported executable 问题的解决
- html登录页面修改背景图片,html网页背景图片设置
- 微信小程序毕业设计 基于微信共享小程序系统开题报告
- uniapp--微信小程序--云开发生成短连接h5跳转小程序
- 利用Selenium(爬虫)爬取物流信息,并用邮件提醒自己物流更新
- 输入今天日期输出明天日期
- Unity TileMap工具教程
- Linux虚拟声卡有吱吱声,解决Win7+8系统爆音有杂音吱吱声
- 左耳听风 第二十一周
热门文章
- C14500碲铜棒C14500对应国标牌号
- matlab二次多项式插值,MATLAB应用——多项式与插值函数
- error LNK2019: unresolved external symbol错误,解决
- xss靶场、xss.haozi.me靶场详细通关教程
- 荣耀2023届校园招聘内推码
- python获取图像的长和宽尺寸,通道数量
- MB KB Mb Kb Mbps Kbps小结
- emacs linux 教程,Emacs入门系列:3分钟学会Emacs基本操作
- Unable to find rebel.xml in artifact eui:war. This file is required to enable JRebel reloading.
- linux分区表导出与恢复,Linux下的硬盘数据恢复与分区表恢复