自动宽度帆布smartgwt

时间:2013-07-31 12:46:54

标签: gwt smartgwt

**如何在smartgwt中设置动态宽度? 我试过这个:

mainWindowBody = new VLayout();
mainWindowBody.setAutoWidth();

它不起作用:S 任何人都可以帮忙吗?**

3 个答案:

答案 0 :(得分:2)

我认识的派对已经晚了将近一年,但如果这对其他人有帮助,那就值得了。 SmartGWT相对于自动宽度有一点奇怪 - 你必须将它与setOverflow(Overflow.VISIBLE)结合起来才能工作。将setAutoWidth和溢出放在同一个Layout / Canvas上,它将按照自己的宽度调整大小。

答案 1 :(得分:0)

Canvas.setWidth(String)与正确的字符串或Canvas.setWidth100()一起使用。

mainWindowBody.setWidth("*");

OR

mainWindowBody.setWidth100();

OR

mainWindowBody.setWidth("100%");

在这种情况下,所有人都会有同样的效果 这将导致mainWindowBody根据可用空间的大小进行扩展和撤消。

Canvas中有三个setWidth()(和setHeight)方法:
setWidth(int) - 设置特定的宽度(以像素为单位) - setWidth(200)
setWidth(String) - 使用百分比 - setWidth("50%")
setWidth100() - 将宽度设置为100%的便捷方法

选中What does setWidth("*") do in CSS / SmartGWT?,查看setWidth("*")setWidth100()之间的区别。

答案 2 :(得分:0)

HTML5画布喜欢它的大小(以像素为单位),如果设置了新大小,则会清除其内容。但是它有一个context.scale()函数,可以在调整大小时保留画布的内容。

如果您在用户重新调整浏览器窗口大小时尝试重新调整画布大小,则可以添加窗口重新调整大小处理程序:Window.addResizeHandler()。我只知道如何使用GWT,而不是SmartGWT。触发窗口调整大小事件时,使用event.getHeight()和event.getWidth()以及一些数学计算画布的新像素大小。