0

this.appView.setInitialScale(0); を削除します。DroidGap.java で、以下のように WebView を初期化します

WebSettings ws = wv.getSettings();
ws.setJavaScriptEnabled(true);
ws.setDomStorageEnabled(true);
ws.setLightTouchEnabled(false);
ws.setDatabaseEnabled(true);
String databasePath = getApplicationContext().getDir("database",
        Context.MODE_PRIVATE).getPath();
ws.setDatabasePath(databasePath);
ws.setSupportZoom(false);
ws.setBuiltInZoomControls(false);

wv.requestFocusFromTouch();

DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);

int orient = getRequestedOrientation();
float width = 480.0f;
float height = 320.0f;
if(orient == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) {
    width = 320.0f;
    height = 480.0f;
}
width*=2;height*=2;

final float scale = Math.min(metric.widthPixels / width, metric.heightPixels / height);

int web_scale = 100;
if(android.os.Build.PRODUCT.equals("blaze")) {
    web_scale = (int) (scale * 96);
}else {
    web_scale = (int) (scale * 100);
}
wv.setInitialScale(web_scale);

私のWebページでは、ビューポートは次のとおりです。

<meta name="viewport" content="width = device-width,initial-scale=0.75,minimum-scale=0.1,maximum-scale=3.0,user-scalable=yes" />

4.0 デバイスでは動作しますが、2.3 以下で実行すると、ページが予想より大きく見えます。アドバイスがあれば事前にthxしてください。

私の電話 (HTC G11 Incredible S) では機能しないことがわかりましたが、他の電話 (galaxy note、galaxy II、galaxy nexus、moto milestone 2) では機能します。

4

0 に答える 0