如何在 Chrome 中制作溢出菜单?

Posted

技术标签:

【中文标题】如何在 Chrome 中制作溢出菜单?【英文标题】:How to make an overflow menu like in Chrome? 【发布时间】:2021-10-06 22:58:12 【问题描述】:

我想制作一个类似于 android 中的 chrome 应用程序的溢出菜单,其中包含前进、后退和书签按钮。 这是 chrome 应用中的overflow menu。

有什么想法吗?

【问题讨论】:

【参考方案1】:

您的溢出菜单项不能有自定义视图,因此 Chrome 不使用标准操作栏。奇怪的是,Google 甚至不使用它自己的标准工具来推动其他人使用,但这就是它的方式。

如果您加载一个使用真正的标准 ActionBar(例如,日历或消息)的应用程序,它将在层次结构中有一个名为 ActionBarContainer 的视图,您可以一直跟踪它直到溢出按钮,即ActionMenuPresenter$OverflowMenuButton。

但是在 Hierarchy Viewer 中加载 Chrome,你会发现他们用于溢出按钮的只是一个 ImageButton。

显然,您可以制作自己的完整的 ActionBar 实现,或者向现有的 ActionBar 添加一个溢出按钮,并以某种方式确保真正的溢出按钮永远不会显示。您可能会发现 ActionBar 兼容性示例项目在制作假动作栏时很有用。无论哪种方式,如果您再次查看 Hierarchy Viewer,它们只是使用 PopupMenu 在实际的 ActionBar 应用程序和 Chrome 应用程序中显示菜单。

希望这足以帮助您入门。

【讨论】:

【参考方案2】:

查看整个组件的 Android ActionBar。

对于唯一的布局,您可以inflate任何布局,并将其放置在您想要的任何位置...

【讨论】:

以上是关于如何在 Chrome 中制作溢出菜单?的主要内容,如果未能解决你的问题,请参考以下文章

如何使 CSS3 圆角在 Chrome/Opera 中隐藏溢出

在工具栏溢出菜单中显示菜单项图标时,这种奇怪的情况是如何发生的?

如何在 ActionBar 的溢出菜单中显示图标

如何在 android actionbar compat 上强制溢出菜单?

如何在溢出屏幕的 SwiftUI 中制作无限宽度的视图?

即使手机有硬件菜单按钮,如何始终显示溢出菜单(ActionBar)?