前幾天用phonegap編譯GameBuilder+CanTK時,發現HTML裏的viewport無效。CanTK根據devicePixelRatio檢測設備的DPI,而後用viewport設置正確的分辨率。若是viewport無效,CanTK只能以最低分辨率運行。在網上查了一下, 也沒有找到系統的資料,但我知道WebView必定有相應的設置來啓用viewport,結合找到的資料和phonegap的源碼,終於找到了解決方法,這裏總結一下:php
<preference name="EnableViewportScale" value="true"/>
android 平臺的解決方法一:修改CordovaWebView.java:java
settings.getUserAgentString();
//增長下面兩行代碼:
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
android 平臺的解決方法二:直接修改CordovaWebView.java是個好辦法,可是GameBuilder+CanTK支持phonegap的雲編譯,沒有法直接修改CordovaWebView.java。我想到了phonegap插件,找到了一個ViewPortScale的插件,發現根本編譯不了,因此本身寫了一個com.tangide.viewport的插件,若是裏使用GameBuilder+CanTK提供的雲編譯,已經內置了這個插件。插件的源碼在這裏:android
https://github.com/drawapp8/ViewPort