こんにちは、モバイル デバイス用に設計されたウェブサイトを持っています。
アプリケーションで WebView を使用して、この Web サイトを表示します。
ユーザーがテキストをズームすると、水平スクロール バーが表示されます。代わりに、ページ内のテキストが次の行に折り返され、テキストが画面の幅に収まるようにする必要があります。
モバイルの画面に収まるようにテキストをラップするには、どの html5、css3 プロパティを使用する必要がありますか?
アップルのサイトでそれは言う
ユーザーは、ジェスチャーを使用してズームインおよびズームアウトすることもできます。ズームインおよびズームアウトするとき、ユーザーはビューポートのサイズではなく、ビューポートのスケールを変更します。したがって、パンとズームによって Web ページのレイアウトが変更されることはありません。図 3-8 は、ユーザーがズームインして詳細を表示したときの同じ Web ページを示しています。
ですから、スケールを操作できない限り、それは不可能だと思います
コードでは、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);
}
});