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) では機能します。