Android 4.1视口缩放(setInitialScale,元初始缩放不起作用)

 曾经的诺系列 发布于 2023-01-04 14:56

在SO和其他互联网上有数百篇关于尝试在Android中修复视口缩放的帖子,我现在相当确定你无法在Android 4.1的webview中设置初始比例.

我正在构建一个Cordova(Phonegap)应用程序,我已经在iPhone 3GS,4S和5以及iPad 2上完成了所有功能,在iOS6上运行iOS7和3GS

我还推出了适合Moto G,LG Nexus 5,Google Nexus 5和三星Galaxy S4的UI,全部运行Android 4.4

但是在运行Android 4.1的三星Galaxy S2和S3 Mini上,我无法设置初始规模.

HTML视口元标记在4.1或4.4上不起作用(适用于Chrome,不适用于WebView或默认浏览器):

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    super.init();
    // Set by  in config.xml
    super.loadUrl(Config.getStartUrl());
    //super.loadUrl("file:///android_asset/www/index.html");

    this.appView.setInitialScale( 50  );

}

然后我按预期得到了4.4尺寸的Moto G:

Android 4.4上的Moto G,初始比例为0.5,通过setInitialScale(50)

但是在Galaxy S2上运行的项目完全相同,并没有得到扩展.

Android 4.1上的Galaxy S2,初始比例为0.5,通过setInitialScale(50)

我只限于使用4.1或者4.4上的一系列设备在三星设备上进行测试,所以如果有人可以在4.2或4.3上测试相同的东西,或者4.1上没有三星的任何人都会有帮助.

有谁知道如何让Android 4.1服从 setInitialScale()

1 个回答
  • 您应该能够在网页中添加一些javascript,以便在您的网页浏览获取内容时扩展内容.下面是一个示例,它将缩放您的html内容,以便内容适合屏幕的可用宽度:

    function customScaleThisScreen() 
        var contentWidth = document.body.scrollWidth, 
            windowWidth = window.innerWidth, 
            newScale = windowWidth / contentWidth;
        document.body.style.zoom = newScale;
    }
    

    这将适用于旧的(4.2之前的)和更新的基于铬(4.2+)的webview.

    HTHS

    2023-01-04 14:59 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有