繁体   English   中英

在 AlertDialog 中设置粗体文本

[英]Set text in Bold in AlertDialog

我想在 AlertDialog 中以粗体显示消息文本的一部分。

我试过:

strings.xml添加<b> </b> tag但没有任何积极意义。

我也用过Html.fromHtml("<b>"+getString(R.string.ittformulanote)+"</b>")

我也去过stackoverflow.com但没有积极的结果。

在我的代码下面:

 showDialog(getActivity(),"Sample",Html.fromHtml("<b>"+getString(R.string.ittformulanote)+"</b>")+"\n\n"+));



public static void showDialog(Context mContext, String Title,
            String Description) {

        final AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);

        dialog.setTitle(Title);
//      dialog.setMessage((Html.fromHtml("<b>"+Description+"</b>")));
        dialog.setMessage(Description);
        dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                dialog.dismiss();
                // TODO Auto-generated method stub

            }
        });

        //

        AlertDialog alert=dialog.create();
//      dialog.show();
        alert.show();


    }

本页介绍如何向资源字符串添加 HTML 格式。

如果您在格式化字符串时遇到问题,他们的示例似乎会有所帮助:

将您的样式文本资源存储为 HTML 转义字符串:

<resources>
  <string name="welcome_messages">Hello, %1$s! You have &lt;b>%2$d new messages&lt;/b>.</string>
</resources>

在这个格式化的字符串中,添加了一个元素。 请注意,左括号是 HTML 转义的,使用 < 表示法。

AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setMessage(Html.fromHtml("<b>"+getString(R.string.ittformulanote)+"</b>"));
        builder.setNeutralButton("OK", new OnClickListener() {

            @Override
            public void onClick(DialogInterface arg0, int arg1) {
                // TODO Auto-generated method stub

            }
        });
        AlertDialog alert = builder.create();
        alert.show();

请试试这个代码..它工作正常

您需要在 xml 中设置粗体文本,例如:

<resource>
<string id="@+id/your_message">We are <b><i>so</i></b> glad to see you.</string>
</resources>

并在您想要粗体文本的特定位置调用它,例如:

Html.fromHtml("<b>"+getString(R.string.your_message)+"</b>")
<string name="demoStr"><Data><![CDATA[ <b>ABC</b> ]]> </Data></string>
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="welcome">Welcome to <b>Android</b>!</string>
</resources>

我通过在 AlertDialog.Builder 中创建我自己的 textView 解决了这个问题。

LayoutInflater inflater = LayoutInflater.from(getContext());
View view = inflater.inflate(R.layout.dialog_custom_text_view, null);
TextView textView = view.findViewById(R.id.dialog_custom_text_view);
textView.setText(message);
builder.setView(view);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM