使用Android在PhoneGap上启用视口

时间:2012-04-12 09:43:50

标签: android cordova viewport

PhoneGap:1.5.0,Android:2.3.4

我在我的HTML中添加了一个视口标记,如下所示:

<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no;">

但它不起作用。我有一个宽度= 320px的窗口,但应该是480px。

当我用Google搜索这个问题时,我发现了这个:

将这两行添加到onCreate()

this.appView.getSettings().setUseWideViewPort(true);
this.appView.getSettings().setLoadWithOverviewMode(true); 

但在我插入这两行后,我再也无法启动到WebView了!相反,我得到以下例外:

ActivityThread.performLaunchActivity(ActivityThread$ActivityRecord, Intent) line: 2496

Here is the exception screenshot

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:2)

试试这段代码:

活动文件:

public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
                WindowManager.LayoutParams.FLAG_FULLSCREEN | 
                WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
        super.loadUrl("file:///android_asset/www/index.html");
    }

html文件

<meta name="viewport" content="width=device-width,height=device-height,user-scalable=no,target-densitydpi=250,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" />

使用android AndroidManifest.xml android:screenOrientation="landscape" 水平显示是全屏

答案 1 :(得分:0)

刚刚测试过,首选项不是完整的解决方案,请执行以下操作:

config.xml:<preference name="EnableViewportScale" value="true" />

主要活动,在设置AFTER loadurl后启用视口:

super.loadUrl(Config.getStartUrl(),1);   
WebSettings settings = appView.getSettings(); 
settings.setUseWideViewPort(true); 
settings.setLoadWithOverviewMode(true); 

答案 2 :(得分:0)

我已经在这里解答了我的问题:https://stackoverflow.com/a/28755743/4612666 基本上将AndroidManifest.xml最小/目标版本更改为:

<uses-sdk android:minSdkVersion="7" />

可以使用该版本,但不是很确定。