2013-02-11 66 views
1

我有一个layoutPanel,上面有一些按钮,第二个布局面板上有更多的按钮。两个布局面板在位置上部分重叠。我希望能够隐藏一个,并让其他人可见,以使可见的元素/小部件可点击。我怎样才能有效地做到这一点?预计该页面将在移动设备上进行查看,因此大量此类按钮/面板的效率非常重要。GWT - 如何有效地堆叠元素,使顶层元素可点击?

首先,我尝试使用应该隐藏的面板上内置的setVisible()。不幸的是,这只是隐藏了顶部面板。当您不再激活顶部面板上的按钮时,顶部面板仍然会阻止您单击底部面板。

接下来,我尝试在面板上使用widget.getElement().getStyle().setZIndex(indexInt)以及setVisible(false)。这里只有面板的z-index被改变了,但没有按钮。再次,底部面板被阻止被点击。我会将Z-index设置传递给孩子们,但这会导致很多Z-index重新计算,我想避免任何性能问题。

最后,我考虑调整大小/移动面板。为了避开它。这里的问题是,你必须让小组记得它在哪里或者它是多大。另外,简单调整大小或移动面板可能会产生不可估量的后果。

虽然最后两种方法可以工作,我猜是有一个更有效和优雅的方法。有什么建议么?非常感谢!

回答

2

假设LayoutPanel,你应该使用setWidgetVisible隐藏控件

+0

哈哈哈,所有的工作,我唯一需要做的就是让父母把孩子藏起来。完美的作品。谢谢。 – golmschenk 2013-02-11 16:25:20