如何制作像 Chrome 中那样的溢出菜单?

2024-03-02

我想制作一个类似于 android 中的 chrome 应用程序的溢出菜单,其中有前进、后退和书签按钮。 这是溢出菜单 https://i.stack.imgur.com/Tenox.png在 Chrome 应用程序中。

有任何想法吗?


您无法为溢出菜单项设置自定义视图,因此 Chrome 不使用标准操作栏。奇怪的是,谷歌甚至没有使用自己的标准工具来推动其他人使用,但事情就是这样。

如果您加载一个使用真正标准 ActionBar 的应用程序(例如,日历或消息传递),它将在层次结构中具有一个称为操作栏容器 http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.1_r1/com/android/internal/widget/ActionBarContainer.java#ActionBarContainer你可以沿着它一直走到溢出按钮,这是一个ActionMenuPresenter$OverflowMenuButton http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.3_r1/com/android/internal/view/menu/ActionMenuPresenter.java#ActionMenuPresenter.OverflowMenuButton.

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

显然,您可以制作自己的完整 ActionBar 实现,或者向现有 ActionBar 添加溢出按钮,并以某种方式确保真正的溢出按钮永远不会显示。您可能会发现 ActionBar 兼容性示例项目对于制作假操作栏很有用。不管怎样,如果你再次查看层次结构查看器,他们只是使用弹出菜单 http://developer.android.com/reference/android/widget/PopupWindow.html在真正的 ActionBar 应用程序和 Chrome 应用程序中显示菜单。

希望这足以帮助您入门。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何制作像 Chrome 中那样的溢出菜单? 的相关文章

随机推荐