2

AlertDialogリッチなコンテンツを作成しようとしています。を使用しHtml.fromHtml()てメッセージテキストを次のように設定すると、次のようになります。

AlertDialog.Builder adb = new AlertDialog.Builder(this);
adb.setTitle("title");
adb.setMessage(Html.fromHtml(text));

<b>(太字)や<i>(斜体)などの基本的なHTML要素のみが許可されます。

WebView私が好きなものを使うとき

WebView webView = new WebView(this);
myWebView.loadData(webContent, "text/html", "utf-8");
AlertDialog.Builder adb = new AlertDialog.Builder(this);
adb.setView(webView);

デフォルトのAndroidスタイルを失います。

<ul>?内のように、リッチコンテキストを取得するにはどうすればよいAlertDialogですか?

4

3 に答える 3

1

これを試して、カスタムアダプタを使用してください

final Dialog custon_dialog = new Dialog(Login.this);
custon_dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
custon_dialog.setContentView(R.layout.webview);
custon_dialog.setCancelable(true);
// custon_dialog.setTitle(null);

WebView mwebview = (WebView) custon_dialog.findViewById(R.id.webview);
    mwebview.setBackgroundColor(0x00000000);
    mwebview.loadData(webContent, "text/html", "utf-8");
custon_dialog.show();
        }
    });
于 2013-02-21T10:33:42.193 に答える
1

アクティビティ内にWebビューを追加し、アクティビティテーマをmenifestファイルのダイアログとして設定できます。

<activity .....
          android:theme="@android:style/Theme.Dialog"/>
于 2013-02-21T12:42:05.623 に答える
0

Html.fromHtml(text)はtagsoupを使用します

参照用の単純なタグをサポートしますhtml.fromhtml

使用しているにも関わらず

String text="some html code";

cssなどを使用してhtmlファイルを作成し、すべてのファイルをアプリケーションのアセットフォルダーに配置します。

今、これの代わりに

adb.setMessage(Html.fromHtml(text));  

リッチコンテンツをalerdialogに表示したい場合。

これはあなたを助けるはずです、覚えておいてください:あなたはまたあなた自身のカスタムレイアウトでダイアログを膨らませることができます

AlertDialog.Builder alert = new AlertDialog.Builder(yourclass.this);

   alert.setTitle("title");
   WebView wv = new WebView(yourclass.this);

   wv.loadUrl("file:///assets/yourHtmlFileName.html");

                        wv.setWebViewClient(new WebViewClient()
                        {
                            public boolean shouldOverrideUrlLoading(WebView view, String url)
                            {
                                view.loadUrl(url);

                                return true;
                            }
                        });

                        alert.setView(wv);

                        alert.show();

                    }
                });
于 2013-02-21T10:47:51.277 に答える