如何让GWT RequiresResize.onResize响应缩放?

如何让GWT RequiresResize.onResize响应缩放?,gwt,resize,Gwt,Resize,缩放后不调用onResize 当前GWT实施: public native void initWindowResizeHandler() /*-{ var oldOnResize = $wnd.onresize; $wnd.onresize = $entry(function(evt) { try { @com.google.gwt.user.client.Window::onResize()(); } finally {

缩放后不调用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);
      }
    });
  }-*/;
我找到的唯一可用于轮询的解决方案

  • 投票是最好的(唯一的)方式吗?如果是这样,如何使用调度程序来获得最佳性能

  • 捕获事件后,调用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
    
      }
    

    这在哪个浏览器上不适用。一般来说,捕获一个调整大小的工具对meI来说很好,我只在Chrome for mac上试用过;看起来“没有办法主动检测是否有变焦。”