2

WebView アプリケーションを強制的に横向き (最大モード) にし、アスペクト比をロックして常に画面いっぱいになるようにし、ズームを無効にし (ダブルタップ時)、スクロールも無効にしたいと考えています。

これが私がこれまでに試したことです。

WebView b=(WebView)findViewById(R.id.webview);
        b.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
        b.setScrollbarFadingEnabled(false);
        b.getSettings().setJavaScriptEnabled(true);
        b.getSettings().setLoadWithOverviewMode(true);
        b.getSettings().setUseWideViewPort(true);
        b.getSettings().setBuiltInZoomControls(false);
        b.setPadding(0,0,0,0);b.setInitialScale(getScale());

  private int getScale(){
        Display display=((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 
        int width=display.getWidth();Double val=new Double(width)/new Double(800);
        val=val*100d;return val.intValue();
    }

これが私のGalaxyノートのレンダリングです

初期ビュー: http://i.snag.gy/ol0Zh.jpg

画面をダブルタップしたときの表示 (初期表示として使用したいもの): http://i.snag.gy/j6i3f.jpg

4

2 に答える 2

2

強制的に横向きにするには、マニフェストで android:screenOrientation="landscape" をアクティビティに追加します。これにより、アクティビティが縦向きになるのを防ぐことができます。

スクロールを無効にすることはお勧めしません。アプリが小さな画面のデバイスに収まらない場合はどうすればよいでしょうか。彼らはあなたのコンテンツをどのように見るでしょうか? ディスプレイの比率を小さくすることもできますが、それは視覚障害のある人 (または、十分に小さくなれば正常な人でさえも) を傷つけます。私はまだ 30 代ですが、ほとんどの Web サイトを拡大してテキストを読みやすくしています。

于 2013-07-13T17:32:50.483 に答える
1

設定

webView.getSettings().setUseWideViewPort(false);

その後、スケールを手動で設定できます。これについては、 stackoverflow.com/a/3916700/519955を参照してください。

ランドスケープの場合、次を使用してプログラムで設定できます。

myActivity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

前に回答したように、マニフェストも変更できます。

于 2013-07-13T17:46:08.707 に答える