**如何在smartgwt中设置动态宽度? 我试过这个:
mainWindowBody = new VLayout();
mainWindowBody.setAutoWidth();
它不起作用:S 任何人都可以帮忙吗?**
答案 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()以及一些数学计算画布的新像素大小。