2

我希望我的 alertDialog 看起来像这样 在此处输入图像描述

我的 API 是 26,这是我目前的代码

alertDialog.setTitle("Warning");
alertDialog.setMessage(Html.fromHtml("Are you sure"+"\n"+"\n"+"<font color='#00bfff'><br><br><b>Est. Total Cost : $ 9.00 </b></font>",Build.VERSION.SDK_INT));

如您所见,我只是将 9.00 直接放入字符串中。现在,我想让 9.00 成为一个名为 estCost 的字符串变量,它可以根据我的代码中的计算进行更改。

如何在 alertDialog.setMessage() 中显示“带有颜色的字符串变量” estCost ?

我试过以下代码

String estCost = calculate(10)  //calculate method will return a double in string.
alertDialog.setTitle("Warning");
alertDialog.setMessage(Html.fromHtml("Are you sure"+"\n"+"\n"+"<font color='#00bfff'><br><br><b>Est. Total Cost : $ <var> estCost </var></b></font>",Build.VERSION.SDK_INT));

但它不起作用。请帮我 !谢谢。

4

3 回答 3

1

使用可扩展的文本

Spannable myText = new SpannableString("are u sure.....");        
myText.setSpan(new ForegroundColorSpan(Color.RED),7,10,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
alertDialog.setMessage(myText);
于 2017-10-07T17:58:59.020 回答
0

您需要使用连接运算符“+”连接值

alertDialog.setMessage(Html.fromHtml("Are you sure"+"\n"+"\n"+"<font color='#00bfff'><br><br><b>Est. Total Cost : $ <var>"+ estCost+" </var></b></font>",Build.VERSION.SDK_INT));
于 2017-10-07T17:55:03.857 回答
0

您需要连接字体,因此在字体标签之前和字体标签之后使用 + 即可。

于 2017-10-07T18:01:13.993 回答