gluon mobile:菜单中的菜单闪烁
gluon mobile: menus in menu are flickering
你好 Whosebug 社区...
我已将多个 (JavaFX) Menu -实例放入一个 Menu(位于 GluonMobile-View 的子节点中):
问题是,当 courser 悬停其中一个时,子菜单会闪烁并相互重叠:
所以我的问题是,是否有人知道我的问题的解决方案。
(视图是使用 SceneBuilder 构建的)
对于初学者来说,经典的桌面菜单并不是真的要在移动应用程序中使用。
您应该考虑不同的方法,例如 NavigationDrawer
(javadoc), or the BottomNavigation
control (javadoc)。
无论如何,如果您确实需要使用它们,这里是对您面临的问题的解释:
在 Scene Builder 上,当您添加 MenuBar
时,它默认包含一些 Menu
和 MenuItem
控件。如果启用 Gluon Mobile 主题:
您会注意到 Menu
上的填充是最小的,而 MenuItem
上的填充更大,并且已设置最小高度和宽度。
如果您将 Menu
添加为另一个 Menu
的子项,如果此菜单未 select 编辑或聚焦,则其样式类似于 MenuItem
,但是如果您聚焦它,它将被样式化为 Menu
,强制重新布局。
例如,在这张图片中,顶部的 Edit
是 select 菜单,而底部的 Edit
不是 selected。
在布局之后,如果鼠标光标距离下一个项目足够近,现在可能正在 selecting 它,这将展开它。同时,以前的 selected 菜单将变为 deselected,并且会再次增长...
这是解决问题的简单方法:在视图的 css 文件中,添加如下内容:
.menu,
.menu:focused,
.menu-item {
-fx-padding: 10;
}
所以菜单和菜单项在所有情况下都有相同的填充,防止任何可能的闪烁。
请注意,使用 css 您可以覆盖任何以前的现有样式并根据自己的喜好进行修改。
你好 Whosebug 社区...
我已将多个 (JavaFX) Menu -实例放入一个 Menu(位于 GluonMobile-View 的子节点中):
问题是,当 courser 悬停其中一个时,子菜单会闪烁并相互重叠:
所以我的问题是,是否有人知道我的问题的解决方案。 (视图是使用 SceneBuilder 构建的)
对于初学者来说,经典的桌面菜单并不是真的要在移动应用程序中使用。
您应该考虑不同的方法,例如 NavigationDrawer
(javadoc), or the BottomNavigation
control (javadoc)。
无论如何,如果您确实需要使用它们,这里是对您面临的问题的解释:
在 Scene Builder 上,当您添加 MenuBar
时,它默认包含一些 Menu
和 MenuItem
控件。如果启用 Gluon Mobile 主题:
您会注意到 Menu
上的填充是最小的,而 MenuItem
上的填充更大,并且已设置最小高度和宽度。
如果您将 Menu
添加为另一个 Menu
的子项,如果此菜单未 select 编辑或聚焦,则其样式类似于 MenuItem
,但是如果您聚焦它,它将被样式化为 Menu
,强制重新布局。
例如,在这张图片中,顶部的 Edit
是 select 菜单,而底部的 Edit
不是 selected。
在布局之后,如果鼠标光标距离下一个项目足够近,现在可能正在 selecting 它,这将展开它。同时,以前的 selected 菜单将变为 deselected,并且会再次增长...
这是解决问题的简单方法:在视图的 css 文件中,添加如下内容:
.menu,
.menu:focused,
.menu-item {
-fx-padding: 10;
}
所以菜单和菜单项在所有情况下都有相同的填充,防止任何可能的闪烁。
请注意,使用 css 您可以覆盖任何以前的现有样式并根据自己的喜好进行修改。