我有一个像http://gwt.googleusercontent.com/samples/Showcase/Showcase.html#!CwStackLayoutPanel这样的普通堆叠面板
但不,我不想,当我展开另一个小部件时,我的另一个小部件崩溃。
就像在smartgwt中:
http://www.smartclient.com/smartgwt/showcase/#layout_sections_expand_collapse
发布于 2014-03-28 09:12:01
不幸的是,没有一个简单的解决方案可以满足您的所有需求。我最近深入研究了这个完全相同的问题,这些是我提出的选择。
编写/修改您自己的组件
您可以尝试扩展StackLayoutPanel以添加所需的功能。animate方法在最新版本中是公共的(它不在2.0中),但您必须添加一些调整来跟踪哪些面板被展开。简单地将其用作新小部件的基础可能会更容易。源代码here。
的优点:可以保证精确的功能,并根据需要进行修改。
缺点:需要深入的知识和开发时间。
堆叠在VerticalPanel中的DisclosurePanels
如果您需要使用标准小部件,这是最接近的GWT。DisclosurePanels允许您拥有一个header小部件,当单击该小部件时,将展开或隐藏内容小部件。多个堆叠在一起,你可以一次打开多个。
但是,披露面板不会调整其内容的大小以适应受限的空间。如果它们对于提供的空间来说太大,它们将进一步将DisclosurePanels推到视线之外。如果您不介意滚动查看其他标题,这是很好的。
优点:使用标准的GWT组件,易于实现。
缺点:根据展开部分内容的长度,并不是所有的标题都同时可见。
使用StackLayoutPanel
优点:使用标准的GWT组件,易于实现。所有标头始终可见。
缺点:一次只能显示一个部分。
使用第三方组件
SmartGWT突然浮现在脑海中。;)
优点:你也许能够获得你想要的确切功能。
缺点:必须使用可能有buggy的第三方组件,或者在您的代码中添加其他不必要的膨胀。
https://stackoverflow.com/questions/22637267
复制相似问题