1

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

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

它没有用:S任何人都可以帮忙吗?**

4

3 回答 3

2

我知道的派对迟到了将近一年,但如果这对其他人有帮助,那是值得的。SmartGWT 在自动宽度方面有一点奇怪——你必须将它与 setOverflow(Overflow.VISIBLE) 结合起来才能工作。将 setAutoWidth 和溢出放在同一个 Layout/Canvas 上,它将调整到自己的宽度。

于 2014-06-16T22:03:40.157 回答
0

Canvas.setWidth(String)与适当的 String 或Canvas.setWidth100()一起使用。

mainWindowBody.setWidth("*");

或者

mainWindowBody.setWidth100();

或者

mainWindowBody.setWidth("100%");

在这种情况下,所有这些都会产生相同的效果。
这将导致mainWindowBody根据可用空间的大小进行扩展和缩回。

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

检查setWidth("*") 在 CSS / SmartGWT 中有什么作用?setWidth("*")查看和之间的区别setWidth100()

于 2013-07-31T14:42:41.910 回答
0

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

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

于 2013-08-01T00:39:24.020 回答