如何在 android 中的 alertDialog.setMessage() 中显示带颜色的字符串变量
how to show a String variable with color in alertDialog.setMessage() in android
我希望我的 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() 中显示 "string variable with the color" 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));
但是没有用。请帮我 !谢谢。
您需要使用连接运算符“+”连接值
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));
使用可跨越文本
Spannable myText = new SpannableString("are u sure.....");
myText.setSpan(new ForegroundColorSpan(Color.RED),7,10,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
alertDialog.setMessage(myText);
您需要连接字体,所以在字体标签之前和字体标签之后使用 + 即可。
我希望我的 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() 中显示 "string variable with the color" 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));
但是没有用。请帮我 !谢谢。
您需要使用连接运算符“+”连接值
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));
使用可跨越文本
Spannable myText = new SpannableString("are u sure.....");
myText.setSpan(new ForegroundColorSpan(Color.RED),7,10,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
alertDialog.setMessage(myText);
您需要连接字体,所以在字体标签之前和字体标签之后使用 + 即可。