2

こんにちは、モバイル デバイス用に設計されたウェブサイトを持っています。

アプリケーションで WebView を使用して、この Web サイトを表示します。

ユーザーがテキストをズームすると、水平スクロール バーが表示されます。代わりに、ページ内のテキストが次の行に折り返され、テキストが画面の幅に収まるようにする必要があります。

モバイルの画面に収まるようにテキストをラップするには、どの html5、css3 プロパティを使用する必要がありますか?

4

2 に答える 2

2

アップルのサイトでそれは言う

ユーザーは、ジェスチャーを使用してズームインおよびズームアウトすることもできます。ズームインおよびズームアウトするとき、ユーザーはビューポートのサイズではなく、ビューポートのスケールを変更します。したがって、パンとズームによって Web ページのレイアウトが変更されることはありません。図 3-8 は、ユーザーがズームインして詳細を表示したときの同じ Web ページを示しています。

ですから、スケールを操作できない限り、それは不可能だと思います

于 2013-04-18T06:22:54.483 に答える
0

コードでは、WebViewClient を実装し、ユーザーがズームインしたことを通知する OnScaleChanged メソッドをオーバーライドする必要があります。このメソッドでは、WebView 全体を再レイアウトする必要があります。次のコードは、テキストのリフローを実現する方法です (注: スクロール バーを表示したくない場合は、さらにコードが必要になりますが、追加していません)。

WebView view;
view = (WebView)findViewById(R.id.webView);
view.setWebViewClient(new WebViewClient(){
    @Override
    public void onScaleChanged(WebView view, float oldScale, float newScale) {

        view.getSettings().setLayoutAlgorithm(
                LayoutAlgorithm.NARROW_COLUMNS); //causes the text to reflow to the screen size
        view.invalidate();
        super.onScaleChanged(view, oldScale, newScale);
    }
});
于 2013-04-18T16:37:41.483 に答える