Android进度对话框消息中的两种颜色的文本

时间:2012-10-11 06:04:55

标签: android textview progressdialog

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

  1. 下载
  2. 解压
  3. 我可以用绿色显示“1.下载”和“2.解压缩”红色。我的代码在哪里

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

2 个答案:

答案 0 :(得分:4)

看看这段代码。

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);

答案 1 :(得分: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)));