鍍金池/ 問答/HTML/ weex頁面在后臺刷新導致尺寸計算錯誤,頁面錯亂

weex頁面在后臺刷新導致尺寸計算錯誤,頁面錯亂

一、問題

在weex頁面打開一個橫屏app(如王者榮耀),等待刷新完畢再回到weex頁面,發(fā)現(xiàn)頁面渲染出錯,重新刷新后就沒問題了

二、示例頁面

http://dotwe.org/vue/e7916366...

三、重現(xiàn)步驟

  1. 點擊第一個綠色塊
  2. 切換到任意橫屏app
  3. 出現(xiàn)"change width"的toast之后切換會weex頁面發(fā)現(xiàn)排版出錯
  4. 再次出現(xiàn)toast之后 頁面正常

四、出現(xiàn)問題代碼

WXViewUtils.java中

  public static int getScreenWidth(Context ctx) {
    if(ctx!=null){
      Resources res = ctx.getResources();
      mScreenWidth = res.getDisplayMetrics().widthPixels;
      if(WXEnvironment.SETTING_FORCE_VERTICAL_SCREEN){
        mScreenHeight = res
                .getDisplayMetrics()
                .heightPixels;
        mScreenWidth = mScreenHeight > mScreenWidth ? mScreenWidth : mScreenHeight;
      }
    } else if(WXEnvironment.isApkDebugable()){
      throw new WXRuntimeException("Error Context is null When getScreenHeight");
    }
    return mScreenWidth;
  }

在橫屏app中,weex在后臺計算屏幕寬度變成了屏幕高度,導致計算錯誤

五、出現(xiàn)問題截圖

clipboard.png
clipboard.png
clipboard.png

clipboard.png

回答
編輯回答
兔囡囡

原生里面獲取屏幕寬度,當橫屏狀態(tài)下屏幕寬度就是豎屏時候的高度

2017年9月25日 05:42
編輯回答
孤慣

我也遇到這個問題了,求解決方案

2017年11月10日 13:13