zoukankan      html  css  js  c++  java
  • 解决PhoneGap不支持viewport的几种方法

    前几天用phonegap编译GameBuilder+CanTK时,发现HTML里的viewport无效。CanTK根据devicePixelRatio检测设备的DPI,然后用viewport设置正确的分辨率。如果viewport无效,CanTK只能以最低分辨率运行。在网上查了一下, 也没有找到系统的资料,但我知道WebView一定有相应的设置来启用viewport,结合找到的资料和phonegap的源码,终于找到了解决方法,这里总结一下:

    • iOS平台的解决方法:在phonegap的config.xml中增加一行配置:

      <preference name="EnableViewportScale" value="true"/>

      (奇怪的是此方法对android平台无效,我看了CordovaWebView.java,里面没有相关设置)
    • android 平台的解决方法一:修改CordovaWebView.java:

          settings.getUserAgentString();
           //增加下面两行代码:
          settings.setUseWideViewPort(true);
          settings.setLoadWithOverviewMode(true);
    • android 平台的解决方法二:直接修改CordovaWebView.java是个好办法,但是GameBuilder+CanTK支持phonegap的云编译,没有法直接修改CordovaWebView.java。我想到了phonegap插件,找到了一个ViewPortScale的插件,发现根本编译不了,所以自己写了一个com.tangide.viewport的插件,如果里使用GameBuilder+CanTK提供的云编译,已经内置了这个插件。插件的源码在这里:

      https://github.com/drawapp8/ViewPort
  • 相关阅读:
    Linux 中 eclipse 的tomcat端口号被占用
    JDBC的常用API
    eclipse Alt+/ 无法提示代码
    javaweb项目开发错误代码
    PSP总结报告
    20181204-1 每周例行报告
    对团队成员公开感谢博客
    20181127-2 每周例行报告
    20181120-1 每周例行报告
    20181113-2 每周例行报告
  • 原文地址:https://www.cnblogs.com/zhangyunlin/p/6167346.html
Copyright © 2011-2022 走看看