android实现菜单栏第三部分popupmenu,弹出式菜单

article/2025/9/29 21:19:51

点击布局内菜单按钮会弹出菜单

就成跟其他菜单差不多,首先是在主界面建一个按钮,然后写出菜单布局,最后在主页面写出逻辑,按钮我们写一个点击事件,等会在主界面在这个点击事件里面写菜单

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><Buttonandroid:id="@+id/button"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginTop="5dp"android:text="点击弹出菜单"android:onClick="typeSizeClick"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintVertical_bias="0.0" />
</androidx.constraintlayout.widget.ConstraintLayout>

然后写一个菜单的布局文件

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:id="@+id/s"android:title="S"android:orderInCategory="1"></item><itemandroid:id="@+id/m"android:title="M"android:orderInCategory="2"></item><itemandroid:id="@+id/l"android:title="L"android:orderInCategory="3"></item>
</menu>

 

 首先在按钮的点击事件里写出菜单,如果菜单里面的按钮也想有点击事件的话,需要我们先写一个弹出式菜单的点击事件然后把主页面继承PopupMenu.OnMenuItemClickListener接口,然后重写抽象方法,在抽象方法里面写菜单里面按钮的点击逻辑

package com.example.popupmenu;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.PopupMenu;
import android.widget.Toast;public class MainActivity extends AppCompatActivity implements PopupMenu.OnMenuItemClickListener {Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button = findViewById(R.id.button);}public void typeSizeClick(View view){PopupMenu popupMenu = new PopupMenu(this,view);//创建弹出式菜单popupMenu.inflate(R.menu.menu_main);//将自制的弹出布局绑定菜单popupMenu.setOnMenuItemClickListener(this);//弹出式菜单的单击事件popupMenu.show();//显示菜单}@Overridepublic boolean onMenuItemClick(MenuItem menuItem) {switch (menuItem.getItemId()){case R.id.s:Toast.makeText(this,"你选择了S号",Toast.LENGTH_SHORT).show();break;case R.id.m:Toast.makeText(this,"你选择了M号",Toast.LENGTH_SHORT).show();break;case R.id.l:Toast.makeText(this,"你选择了L号",Toast.LENGTH_SHORT).show();break;}return false;}
}

 点击之后

 


http://chatgpt.dhexx.cn/article/TUd8nwRJ.shtml

相关文章

PopupMenu的简要使用

PopupMenu的创建&#xff0c;使用及常见用法 一&#xff1a;功能概述 PopupMenu可以非常方便的在指定view的下面显示一个弹出菜单&#xff0c;该弹出菜单的位置是可变的。在一些应用里面例如浏览器里面长按屏幕会显示弹出菜单。 二&#xff1a;创建基本流程 1&#xff1a;创…

解决IOS select下拉框样式

文章目录 问题解决方法 问题 一般来说&#xff0c;在ios端&#xff0c;对于select下拉框会默认出现黑色背景&#xff0c;input输入框上面出现阴影&#xff0c;导致用户体验感不是很好&#xff0c;总体原因是ios中对透明度渲染的效果不是很好。 会出现如下图所示现象&#xff…

vue3—elementPlus如何单独修改页面中的下拉框样式

vue3中只能去修改popper-class这个属性去修改 &#xff08;自己想要的样式&#xff09;重点 :样式修改不能写在scoped中&#xff0c;可以单独开个style popper-class"blueBack"&#xff08;blueBack为自定义class名&#xff09; <el-select popper-class"blu…

VUE3 如何修改饿了么element-plus的下拉框样式?

VUE3 如何修改饿了么element-plus的下拉框样式&#xff1f; 如图&#xff0c;饿了么的样式 已经不在app里面&#xff0c;所以在页面中无法通过样式穿透进行设置样式&#xff0c;只能修改全局的样式&#xff0c;那么我每个页面的样式不一样 每个页面都需要去改全局样式 我想到的…

Python PyQt5l表单应用 - 自定义选择下拉框样式

如何调整默认选择下拉框的样式呢&#xff1f; 1.文件中引用类 QListView from PyQt5.QtWidgets import QListView 2.在控件中添加样式&#xff0c;示例 self.typeCmb.setObjectName("typeCmb") self.typeCmb.setStyleSheet("#typeCmb{border:1px solid rgb(…

Qt QComboBox 下拉框样式修改

今天查了好多资料&#xff0c;发现做出来的都不理想。去查了下Qt源码。发现setView(QAbstractItemView *itemView)这个方法&#xff0c;官方的解释是这样的&#xff1a; void QComboBox::setView(QAbstractItemView *itemView) Sets the view to be used in the combobox pop…

css修改layui的下拉框样式 js_layui创建表单下拉框样式不显示

border-left: 5px solid #009688; 注释&#xff1a;solid实体&#xff0c;实心样式&#xff1b; Blockquote&#xff1a;块引用;Fieldset&#xff1a;字段集; 1.所有浏览器都支持 标签。 fieldset 元素可将表单内的相关元素分组。 标签将表单内容的一部分打包&#xff0c;生成…

elementUi——select选择框的下拉框样式调整——基础积累

最近在用elementUI写后台管理系统&#xff0c;有个弹窗添加的功能&#xff0c;由于弹窗中的内容只有两项&#xff0c;而下拉框的高度较高&#xff0c;导致页面很空。 需要&#xff1a;将下拉框的高度调小&#xff0c;页面布局会好看。 调整前 调整后 实现 通过elementUi官网…

antd a-select下拉框样式修改 vue3 亲测有效

记录一下遇到的问题 1.遇到问题&#xff1a; 使用到Vue3 Ant Design of Vue 3.2.20&#xff0c;但因为项目需求样式&#xff0c;各种查找资料都未能解决; 2.解决问题&#xff1a; ①我们审查元素可以看到&#xff0c;下拉框是在body中的; ①在a-select 元素上添加dropdownCla…

修改select下拉框样式兼容IE和Chrome浏览器

文章目录 问题解决办法 问题 在Chrome浏览器和IE11浏览器下&#xff0c;select下拉框表现的样式不一致。Chrome浏览器下&#xff0c;如图所示&#xff1a; IE11浏览器下&#xff0c;如图所示&#xff1a; 此时select下拉框的css的代码如下&#xff1a; .Data_select {widt…

QComboBox下拉框样式

QComboBox下拉框样式

自定义elementUI select下拉框样式

无论加important还是deep &#xff0c;发现怎样也改不了下拉框的样式&#xff0c;点击元素发现下拉框与script标签是同级的&#xff08;看下图&#xff09; 官方文档上写加 :popper-append-to-body‘false’ &#xff0c;再修改样式&#xff0c;但对我好像没有用 官方文档上…

a-select 下拉框样式修改

// 下拉框的总的样式/deep/.ant-select-dropdown-menu {background: #091F40;border: 1px solid rgba(122, 191, 255, 0.2);box-shadow: 0px 2px 12px rgba(0, 0, 0, 0.2);border-radius: 2px;height: 200px;}// 下拉框 每个item的样式/deep/.ant-select-dropdown-menu-item {f…

element UI指定下拉框样式修改

在一个页面中&#xff0c;有多个下拉框&#xff0c;由于下拉框等级与dom同级&#xff0c;只能改变所有。 解决&#xff1a;在select 中加入popper-class“名称” 即可为下拉框添加类名&#xff0c;从而修改

修改element-ui 下拉框样式

要求定制element-ui选择框Select&#xff0c;需求为增加一根竖线&#xff0c;原始样式为如图&#xff0c;通过打开f12查看样式&#xff0c;做如下调整 修改后效果&#xff1a; //html <div class"hello"><el-select v-model"value" placeholder&q…

原生select下拉框样式修改:去除聚焦的黄色边框样式

原生下拉框聚焦状态border会变黄色&#xff0c;其实并不是border&#xff0c;而是边框边缘的外围 轮廓&#xff08;outline&#xff09;是绘制于元素周围的一条线&#xff0c;位于边框边缘的外围&#xff0c;可起到突出元素的作用。 轮廓&#xff08;outline&#xff09;属性指…

css自定义下拉框样式

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>css自定义下拉框样式</title><style>body {background:#fff;display:flex;justify-content: center;align-items:center;flex-wrap:wrap;p…

element-ui 下拉框样式修改

问题描述 当下拉框字段存在超长的情况下增加横向滚动条&#xff0c;效果如图所示&#xff1a; 解决办法&#xff1a; 在全局样式中添加如下代码&#xff1a; .el-select-dropdown {max-width: 330px;}.el-select-dropdown__item {display: inline-block;}.el-select-dropdow…

HTML下拉框样式美化

在网页中&#xff0c;下拉框的样式最难美化&#xff0c;默认样式巨丑&#xff0c;好在现在已经有各种框架实现了下拉框的样式美化&#xff0c;主要思路都是通过JS代码将下拉框元素用更容易设置样式的div进行替换&#xff0c;再将对应选项及事件进行关联。 最近一项目需要修改很…

VUE学习(二):修改下拉框样式

目录 前言 一、ElementUI文档 二、代码实现 1.el-select选择器 2.设置样式 拓展阅读 前言 在开发中有时需要给某些下拉框选项设置特定的样式&#xff0c;如字体大小&#xff0c;字体颜色&#xff0c;间距等。 一、ElementUI文档 为了实现给特定下拉框设置样式的效果&am…