减少Menu分割线的间距

之前看到社区中有介绍怎样灵活使用右键菜单的文章。现在积累下来右键菜单的方式还是比较多的,让我们来初步了解一下:

1. 使用flash自带的右键菜单,通过ContextMenu来设置,这是twaver最早右键菜单的解决方法,但这种方式有一个不太好的地方是自带上了flash的信息,而且无法删除,因此很不方便。


2. 通过左键的方式弹出Menu。这个方式还是比较能够接受的,对于flash也没有版本的要求。

3. 使用Flash Player 11.2的新功能实现右键菜单,这种方式虽然好,但是需要使用比较高的flash版本,而我们项目中很多用户使用的还是老的版本,领导觉得这种方法不太适合我们。

上面的三种方式,我们最终选择了第二种。在实际使用过程中总是有这样那样的问题。我今天就碰到了一个这样的问题。我使用的是第二种方法:通过menu来实现右键菜单。由于菜单项比较多,而且实际应用中也还需要对菜单项进行分类、分层。



这种效果一般来说已经够用了,但是领导觉得分割线和上下文字之间的间距太大了,需要改小一点,于是上网查了资料,发现确实有一个参数能控制:variableRowHeight。这里有详细的使用例子:Reducing the vertical space around a separator in a Flex PopUpButton control’s pop up menu by enabling variable row heights



赶紧试试我的菜单效果,于是给menu设置了variableRowHeight=true,但效果却不是那么尽如人意:



一级菜单还行,二级菜单上的分割线样式还是原来那样,没变,这会是什么原因呢?继续Google发现基本都是说设置了这个属性值就可以了。难道还是Adobe的bug?算了,还是自己看源码吧:

mx_internal function openSubMenu(row:IListItemRenderer):void
{
supposedToLoseFocus = true;

var r:Menu = getRootMenu();
var menu:Menu;

// check to see if the menu exists, if not create it
if (!IMenuItemRenderer(row).menu)
{
menu = new Menu();
menu.parentMenu = this;
menu.owner = this;
menu.showRoot = showRoot;
menu.dataDescriptor = r.dataDescriptor;
menu.styleName = r;
menu.labelField = r.labelField;
menu.labelFunction = r.labelFunction;
menu.iconField = r.iconField;
menu.iconFunction = r.iconFunction;
menu.itemRenderer = r.itemRenderer;
menu.rowHeight = r.rowHeight;
menu.scaleY = r.scaleY;
menu.scaleX = r.scaleX;

// if there's data and it has children then add the items
if (row.data &&
_dataDescriptor.isBranch(row.data) &&
_dataDescriptor.hasChildren(row.data))
{
menu.dataProvider = _dataDescriptor.getChildren(row.data);
}
menu.sourceMenuBar = sourceMenuBar;
menu.sourceMenuBarItem = sourceMenuBarItem;

IMenuItemRenderer(row).menu = menu;
PopUpManager.addPopUp(menu, r, false);
}

 
看来是二级菜单上没有copy主菜单variableRowHeight的属性值,因此还是自己定义一个itemRenderer,将属性值设置到itemrenderer里面:

public class CustomMenuItemRenderer extends MenuItemRenderer {
public function CustomMenuItemRenderer() {
}
override protected function measure():void {
super.measure();
(this.owner as Menu).variableRowHeight = true;
}
}

 
然后通过menu.itemRenderer = new ClassFactory(CustomMenuItemRenderer);设置上自定义的这个renderer,运行看看效果:



终于达到了我们预期效果了,最后给大家分享一下源码: 见原文最下方

5分钟搞懂异构图注意力网络(HAN):从元路径到节点聚合的全流程解析 本文深入解析异构图注意力网络(HAN)的核心原理与实战应用,从元路径设计到多级注意力实现的全流程。HAN通过节点级和语义级双重注意力机制,有效处理包含多种节点和边类型的异构图数据,在电商推荐、学术网络分析等场景展现卓越性能。文章提供DGL实现代码和调参技巧,帮助开发者快速掌握这一强大工具。 阅读详情

相关推荐

Laravel 结合 jwt-auth 实现无状态 API 认证(实战解析)

本文详细解析了如何在Laravel框架中结合jwt-auth实现无状态API认证,包括JWT的优势、环境搭建、Token签发与刷新、API路由保护等实战内容。通过具体代码示例和优化技巧,帮助开发者高效解决跨域认证问题,提升系统安全性。

weixin_29315569的博客 210

重读vue电商网站9之el-menu 默认会有一个 border-right

vue

qq_41632427的博客 756

飞塔防火墙和paloalto防火墙构建ipsec

一、配置fortigate防火墙1.防火墙配置上网功能1.1配置fortigate的wan1接口IP为100.100.100.2/24VLAN交换internal,IP地址为192.168.156.99/24。开启DHCP分配IP地址范围为192.168.156.110-192.168.156.2101.2配置访问互联网的缺省路由1.3配置访问互联网的安全策略2.配置与Paloalto防火墙的IPSECVPN。

weixin_44675999的博客 3738

10个技巧让你的gzx_dropdown_menu体验翻倍

gzx_dropdown_menu是一款功能强大的自定义下拉筛选菜单Flutter package,支持iOS和Android平台,能帮助开发者快速实现美团、淘宝等App中常见的复杂筛选交互效果。本文将分享10个实用技巧,帮助你充分发挥这个组件的潜力,打造更流畅的用户体验。 ## 1. 快速集成:三种引入方式任你选 [![gzx_dropdown_menu集成配置示例](https://raw

gitblog_00701的博客 491

Python实战:5分钟搞定N-CMAPSS航空发动机数据集解析(附完整代码)

本文提供了一份针对N-CMAPSS航空发动机数据集的快速解析实战指南。通过Python的h5py库,详细演示了如何读取HDF5文件结构、理解数据分类(如传感器、健康参数、场景描述符)并加载为Pandas DataFrame。文章还澄清了数据集中常见的变量数量疑惑,并给出了从数据加载到构建剩余使用寿命预测模型预处理流水线的完整代码,帮助工程师和研究人员高效入门航空发动机预测性维护分析。

weixin_29057065的博客 422

IBM System x3650 M5 IMM配置

1、IMM基本介绍 IMM,全称是Intel Mobile Module是IBM服务器上的集成管理模块,该模块是独立于服务器系统,可以通过一个单独的IP地址,使用Web和虚拟端口方式直接启动、停止和管理远程服务器,即使主板、处理器或者内存故障导致主机无法启动,也依然可以远程管理服务器,可以远程直接操作启动画面和服务器工作界面。 2、IP地址配置 2.1 通过Web方式修改IP地址 IBM服...

血饮渊虹的博客 4万+

基于HarmonyOS API 24实现Column().width(‘100%‘).height(1).backgroundColor(‘#E0D5CC‘)一条1像素分割线,将内容区与底部导航栏分开

健身管理类应用与之前分析的外卖、招聘等应用有本质差异——它的核心数据不是"交易"或"任务",而是"时间序列的身体状态数据":每次训练有时长、卡路里、组数、重量;每次饮食有热量、蛋白质、碳水、脂肪;每周有运动时长趋势图。这些数据的共同特征是"随时间积累,用户需要横向对比和趋势分析"。这导致健身App的数据层设计必须从第一天就考虑"历史数据查询"和"多维度聚合"的需求,而非仅关注当前单条记录的增删改查。健身应用的用户行为模式也有独特之处:用户使用健身App的目标是"坚持",而不是"一次性完成任务"。这意味着激励

2301_79651252的博客 183

YOLOv12改进策略【卷积层】| 引入注意力卷积模块RFAConv,关注感受野空间特征 助力yolov12精度提升

RFAConv:创新空间注意力和标准卷积运算感受野空间特征是针对卷积核设计的,根据卷积核大小动态生成。以3×3卷积核为例,它由非重叠滑动窗口组成,每个窗口代表一个感受野滑块。

Limiiiing的博客 684

Grafana Tempo 依赖解析:twmb/murmur3 纯 Go 实现的 MurmurHash3 哈希库

本篇技术文章以 Tempo 仓库中 vendor 的 `github.com/twmb/murmur3` 库的 [README 文档](https://link.gitcode.com/i/9c0f190de8c56b35c462c39492f0eda0) 为主体,结合其源码实现,讲解该库提供的 32/64/128 位 MurmurHash3 哈希能力、amd64 汇编加速路径、跨架构可移植的字节

gitblog_00977的博客 410

9篇1章1节:中国居民健康与营养调查(CHNS)数据库的官网解析和数据下载(2026年版)

在探讨中国社会经济转型与人口健康变迁的学术领域中,中国健康与营养调查(CHNS) 是一个无法绕过的权威数据库。本文将带你深入了解CHNS的项目背景、庞大的数据体系,以及如何通过这两个核心网站获取关键的家庭、个人及社区层面的研究数据。

MD Code 1694

基于R-CNN深度学习的石头剪刀布手势识别系统:数据集、模型和UI界面的完整实现

本项目的目标是开发一个基于R-CNN深度学习模型的手势识别系统,能够识别石头、剪刀、布三种手势,并通过UI界面让用户能够进行交互。数据集准备与标注:收集包含石头剪刀布手势的图像,并对其进行标注。深度学习模型构建与训练:采用R-CNN模型进行手势的识别和定位。UI界面设计:设计一个简洁的界面,用户可以上传手势图像并进行识别。R-CNN(Region Convolutional Neural Networks)是一个典型的目标检测模型。生成候选区域。

YOLO 876

终极macOS菜单栏管理神器:Ice完全指南与使用技巧

你是否曾经为macOS菜单栏上杂乱无章的图标感到烦恼?当刘海屏MacBook Pro和多显示器工作流成为常态时,传统的菜单栏管理方式已经无法满足现代用户的需求。Ice作为一款完全免费的开源菜单栏管理工具,通过智能分组、悬浮控制面板和像素级布局控制等核心技术,为专业用户提供了终极解决方案。这款强大的macOS菜单栏管理器能够彻底改变你的工作体验,让菜单栏变得整洁、高效、美观。 ## 🚀 Ice:

gitblog_00551的博客 246

《YOLO26/YOLO11/YOLOv8改进与系统实战》,改进与系统实战专栏目录和介绍

YOLOv8 是目前比较火和比较成熟的深度学习框架,是2023年1月发布的,由 Ultralytics 团队开发。Ultralytics自YOLOv5 开始一直积极维护和更新 YOLO 框架,因此 YOLOv8 也享有持续的维护与升级支持。因此我写下《手把手教你YOLOv8实战》专栏,专门为那些对计算机视觉、深度学习、以及目标检测技术感兴趣的读者设计。通过本专栏,你将深入理解 YOLOv8 的核心原理与实际应用,从0 开始学习并掌握如何使用 YOLOv8 完成各类目标检测任务,帮助你快速上手并掌握 YOLO

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1万+

Ice:macOS菜单栏管理终极解决方案,让你的刘海屏Mac焕然一新

你是否曾为macOS菜单栏图标拥挤不堪而烦恼?特别是在刘海屏MacBook上,有限的屏幕空间让重要图标频繁被遮挡。Ice是一款强大的macOS菜单栏管理工具,专门解决现代Mac用户的视觉混乱和效率低下问题。这款完全免费的开源神器通过智能分组、悬浮控制面板和像素级布局控制,彻底改变了菜单栏的使用体验。 ## 为什么你的Mac菜单栏需要Ice? 想象一下:你的菜单栏上挤满了20多个应用图标,Wi-

gitblog_00095的博客 475

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

终极Mac菜单栏管理方案:Ice让你的工作空间重获自由

在MacBook Pro上,菜单栏图标拥挤不堪,刘海屏遮挡关键信息,每天寻找需要的功能图标就像在停车场找车位一样困难。Ice是一款完全免费开源的macOS菜单栏管理神器,它通过智能隐藏、自定义布局和视觉定制三大核心功能,彻底解决菜单栏混乱问题,让你的工作环境焕然一新。 ## 为什么你的Mac菜单栏需要Ice? 现代Mac用户面临三大痛点:刘海屏遮挡关键图标、20+应用图标争抢有限空间、系统资源

gitblog_00067的博客 597

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

2025年Mac菜单栏终极管理指南:开源神器Ice让你的工作空间重获秩序

你的Mac菜单栏是否已经变成了图标停车场?Wi-Fi、电池、时间这些关键信息被挤在刘海屏的角落里,每天都要费劲寻找需要的功能图标。别担心,今天我要为你介绍一款完全免费的菜单栏管理神器——Ice,这款开源工具能让你的Mac工作环境焕然一新,实现菜单栏的智能管理和极致定制。 Ice是一款专为macOS 14+设计的强大菜单栏管理工具,通过智能隐藏、分组管理和视觉定制等功能,彻底解决现代Mac用户面临

gitblog_00416的博客 873

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

WPF基本控件

这个月,学习了WPF基本控件。WPF基本控件有很多。每个控价都有自己独特作用,只有了解每个控价的作用,才能在工作中快速开发。这里总结了大部分的基本控件。 比如ContentControl是内容控件。button、checkbox等的基类。一般控件都是现实Text中的文本,这个控件显示Conten是属性中的文本。DataGrid是显示表格数据。 DockPane是停靠布局容器。子控件就像一个个船,定义DockPanel.Dock属性表示向上/下/左/右靠过去。DocumentViewer控件用于查看 Fixe

yangRedmi的博客 1681

Sphaira MTP 功能详解:把 Switch 变成 Windows 可直接读取的 U 盘

Sphaira 是一款运行在 Nintendo Switch 上的自制菜单(homebrew menu),其中的 MTP 功能可以让 Switch 通过 USB 线接入电脑后,像 U 盘一样被 Windows 资源管理器直接浏览和读写文件,还支持把 NSP/XCI 安装包拖进 Install 文件夹一键安装游戏,是传输文件、备份游戏最快捷的方式之一。 [![Sphaira 文件浏览器界面](ht

gitblog_00830的博客 346

Basic Info

- **Loop name**: <!-- e.g. "Unit test completion loop" --> - **Started**: 2026-07-09 10:00 - **Current round**: Round 1 / N total - **Current status**: In progress <!-- In progress / Completed / Block

gitblog_01068的博客 705

终极Mac菜单栏整理神器:Ice让你的桌面从此清爽高效 [特殊字符]

你是否曾经为macOS菜单栏上密密麻麻的图标感到烦恼?各种应用图标杂乱排列,不仅影响美观,更降低了工作效率。现在,有了**Ice菜单栏管理工具**,你可以轻松掌控桌面空间,打造个性化的菜单栏布局,让每一次操作都更加流畅高效! Ice是一款专为macOS设计的强大菜单栏管理工具,能够智能整理菜单栏图标,提供丰富的自定义选项,帮助用户告别杂乱的菜单栏,提升桌面整洁度和工作效率。无论是专业开发者还是普

gitblog_00898的博客 393

Ice:macOS菜单栏终极管理工具 - 免费开源的界面革命

**macOS菜单栏管理、菜单栏定制、界面优化、开源工具、菜单栏隐藏** - 你是否厌倦了macOS菜单栏上拥挤不堪的图标?是否渴望一个整洁、高效、个性化的桌面工作环境?Ice正是为你量身打造的终极解决方案。这款免费开源的macOS菜单栏管理工具,专为macOS 14+系统设计,通过创新的技术架构和用户友好的界面,彻底改变了菜单栏的使用体验。无论是普通用户还是专业开发者,Ice都能帮助你重新掌控菜

gitblog_00615的博客 1154

拯救你的Mac菜单栏:Ice让刘海屏和多显示器工作流不再烦恼

你是否曾为MacBook Pro的刘海屏遮挡菜单栏图标而烦恼?是否在多显示器工作时为找不到需要的应用图标而抓狂?今天介绍的这款开源神器——Ice,正是解决这些痛点的macOS菜单栏管理工具。通过智能分组、悬浮控制面板和像素级布局控制,Ice能让你的菜单栏变得整洁高效,彻底释放macOS菜单栏的潜力。 ## 为什么你需要菜单栏管理工具? 现代macOS用户面临的菜单栏困境比你想象的更普遍: -

gitblog_00031的博客 931
上一篇: 让JTextField添加“自动完成”功能
下一篇: 使用3D呈现拓扑的多层次结构
subnetwork
博客等级 码龄17年 17粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值