缩放后不调用onResize。
目前的GWT实施:
public native void initWindowResizeHandler() /*-{
var oldOnResize = $wnd.onresize;
$wnd.onresize = $entry(function(evt) {
try {
@com.google.gwt.user.client.Window::onResize()();
} finally {
oldOnResize && oldOnResize(evt);
}
});
}-*/;
我为capturing resize events找到的唯一解决方案是使用轮询。
投票是最好的(唯一)方式吗?如果是这样,如何使用调度程序来获得最佳性能?
捕获事件后,调用com.google.gwt.user.client.Window :: onResize()似乎是个好主意吗?
谢谢
当前解决方案 寻找改进
@Override
protected void onLoad() {
Scheduler.get().scheduleFixedDelay(new RepeatingCommand() {
@Override
public boolean execute() {
if (listOuter.getOffsetWidth() != knownWidth)
onResize();
return SomeListViewImpl.this.isAttached();
}
}, 200);
}
在Window.onresize和缩放上调用onResize。
@Override
public void onResize() {
knownWidth = listOuter.getOffsetWidth();
GWT.log("resize: " + knownWidth);
//some magic
}