gwt屏幕方向[关闭]

3duebb1j  于 2021-06-26  发布在  Java
关注(0)|答案(0)|浏览(237)

[关闭:resizehandler在这种情况下也可以工作。与“横向宽度”计算相关的代码错误。]
iam使用gwt构建我的(第一个)桌面/移动应用程序。目前我正忙于浏览器中的粗略呈现。
所以,用这个方法:
window.getclientwidth()
以及
window.addresizehandler文件
它很容易从客户端浏览器变成实际的宽度值。效果很好!:-)
但是,如果我把手机调到90度° 当屏幕变为横向模式时,resizehandler会忽略这一点。我需要更新浏览器以使事情发生。
但是,其他商业网站没有这个问题,那么浏览器中一定有一个返回值来显示这个变化吗?
有人知道我应该往哪个方向看吗?

//vertical/horizontal ?
  private void screenAlignment(){

    if (Window.getClientWidth() > Window.getClientHeight()){
      alignment = "horizontal";
    } else {
      alignment = "vertical";
    }}
}
// first start orientation 
  private void dynamicFlexTableInit(){

    if (alignment.equals("vertical")){
          windowWidthRootFlexTable = Math.round(Window.getClientWidth() * 0.97f);
          root.setWidth(String.valueOf(windowWidthRootFlexTable) + "px");
    }else {
          windowWidthRootFlexTable = Math.round(Window.getClientWidth() * 0.57f);
          windowsHeight = Window.getClientHeight();
          //GWT.log("<dynamicFlexTableInit> Windows Breite: " + windowWidthRootFlexTable);
          root.setWidth(String.valueOf(windowWidthRootFlexTable) + "px");
    }

  }
// resizeManager
  private void resizeManager(FlexTable root){
    // last alignemt
    lastAlignment = alignment;

    Window.addResizeHandler(new ResizeHandler() {
      @Override
      public void onResize(ResizeEvent resizeEvent) {

        // alignment check
        screenAlignment();

        // new alignment ?
        if (!lastAlignment.equals(alignment)){
          // update last alignment
          lastAlignment = alignment;      
          // check/change width
          dynamicFlexTableInit();

        }}
    });
  }

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题