移动浏览器上的 GWT 屏幕方向 [关闭]

问题描述

)

[ 关闭:ResizeHandler 也适用于这种情况。与“横向 - 宽度”计算相关的代码错误。]

我正在使用 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();

        }}
    });
  }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...