3

我有一个进度对话框,我想显示如下文本消息

  1. 下载
  2. 解压

我可以用绿色显示“1. 正在下载”,用红色显示“2. 解压缩”吗?我的代码在哪里

mProgressDialog.setMessage("1. Downloading \n 2. Decompressing");
4

2 回答 2

5

看看这段代码。

final SpannableStringBuilder sb = new SpannableStringBuilder("your text here");
   final ForegroundColorSpan fcs = new ForegroundColorSpan(Color.rgb(158, 158, 158)); 

   // Span to set text color to some RGB value
   final StyleSpan bss = new StyleSpan(android.graphics.Typeface.BOLD); 

   // Span to make text bold
   sb.setSpan(fcs, 0, 4, Spannable.SPAN_INCLUSIVE_INCLUSIVE); 

   // Set the text color for first 4 characters
   sb.setSpan(bss, 0, 4, Spannable.SPAN_INCLUSIVE_INCLUSIVE); 

   // make them also bold
   yourTextView.setText(sb);
于 2012-10-11T06:06:22.320 回答
4

我认为您可以在设置消息中使用 HTML - 它适用于警报和文本视图 - 我没有尝试过进度对话框但尝试一下。为了给你一个想法这里有一些代码 - 只需修改它以满足您的要求

基本上

在你的 strings.xml

 <string name="downloading"><![CDATA[<font color="green">1.Downloading</font><br/>]]></string>
 <string name="decompressing"><![CDATA[<font color="red">2.Decompressing</font><br/>]]></string>

并打电话

mProgressDialog.setMessage(Html.fromHtml(getString(R.string.downloading))+""+ Html.fromHtml(getString(R.string.decompressing)));
于 2012-10-11T06:13:46.733 回答