シンプルな WebView アダプティブで ScrollView_html/css_WEB-ITnose にネストされています

WBOY
リリース: 2016-06-21 08:48:25
オリジナル
1147 人が閲覧しました

何らかの理由で、常に複雑なテキストを表示する必要があります。たとえば、フロントエンドのバックグラウンドに編集可能なテキストを表示するのは困難です。複雑なテキスト表示を解決するには、WebView を使用する必要があります。

ScrollView の WebView

ScrollView と WebView の両方にスクロール効果があることは誰もが知っているため、最初に WebView のスクロール イベントをブロックする必要があります。

スタックオーバーフローに関する議論

<ScrollView    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:descendantFocusability="blocksDescendants" >
ログイン後にコピー

中国語の文字化け

中国語の文字化けが発生する場合は、次のように設定できます

webView.loadData(body, "text/html; charset=utf-8", "utf-8");
ログイン後にコピー

オートスケール

現時点で、バックエンドが完全な Html ではなく本文部分のコンテンツのみを渡す場合は、適応効果を達成するためにいくつかの CSS スタイルを補足および追加する必要があります。

スタック オーバーフローのディスカッション

WebView webView = new WebView(this);webView.setWebViewClient(new SimpleWebViewClient(title));        webView.getSettings().setDefaultTextEncodingName("utf-8");if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {    webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING);} else {     webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);}webView.loadData(getHtmlData(body), "text/html; charset=utf-8", "utf-8");
ログイン後にコピー

ヘッダー設定を忘れないでください:

適応のための公式ベスト プラクティス

private String getHtmlData(String bodyHTML) {    String head = "<head>" +                "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=no\"> " +                "<style>img{max-width: 100%; width:auto; height:auto;}</style>" +                "</head>";    return "<html>" + head + "<body>" + bodyHTML + "</body></html>";}
ログイン後にコピー

以上

最後に、最初は WebView の高さをどのように制御するかについて心配していましたが、WebView がコンテンツの最長の高さに適応できるとは予想していませんでした。他の方がまとめた WebView に関するよくある質問を添付します

転載の際はこの記事のアドレスを添付してください

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート