【发布时间】:2013-02-11 16:10:16
【问题描述】:
我有一个带有一些按钮的布局面板和一个带有更多按钮的第二个布局面板。两个布局面板在位置上部分重叠。我希望能够隐藏一个并使另一个可见,以便可见的元素/小部件是可点击的。我怎样才能有效地做到这一点?该页面预计将在移动设备上查看,因此对于大量此类按钮/面板,效率很重要。
首先我尝试在应该隐藏的面板上使用内置的setVisible()。不幸的是,这只是隐藏了顶部面板。虽然您不再激活顶部面板上的按钮,但顶部面板仍会阻止您单击底部面板。
接下来,我尝试在面板上使用widget.getElement().getStyle().setZIndex(indexInt) 和setVisible(false) 来使用z-index。这里只有面板的 z-index 发生了变化,但按钮没有。再次,底部面板被阻止被点击。我会将 z-index 设置传递给子级,但这会导致许多 z-index 重新计算,并且我希望避免任何性能损失。
最后,我考虑调整/移动面板的大小。把它排除在外。这里的问题是您必须让面板记住它的位置或大小。此外,简单地调整面板大小或移动面板可能会产生看不见的后果。
虽然最后两种方法可以工作,但我猜还有一种更高效、更优雅的方法。有什么建议么?非常感谢!
【问题讨论】:
标签: gwt z-index visibility