根据百分比更改textview文本颜色

时间:2018-07-03 07:58:53

标签: android android-layout

您好我必须在数字文本视图文本本身中显示进度。它们是否内置了这样的API来绘制字符,如下图所示? enter image description here

2 个答案:

答案 0 :(得分:0)

我在项目中也进行了类似的实施。 我不知道您在下面的那些可点击图片中使用了什么,但是当您更改选择时触发时,可以使用以下功能来更改图片:

profileRatingImage.setImageResource(R.mipmap.img_strength_01);

但是在这里,您必须为单词“ COMPLETE”创建8个单独的图像。

答案 1 :(得分:0)

您可以使用SpannableString在TextView中设置字符串样式。它允许TextView为文本的不同区域提供不同的颜色和样式。以下是示例代码段供您参考

    SpannableString styledString
      = new SpannableString("Large\n\n"     // index 0 - 5
           + "Bold\n\n"          // index 7 - 11
           + "Underlined\n\n"    // index 13 - 23
           + "Italic\n\n"        // index 25 - 31
           + "Strikethrough\n\n" // index 33 - 46
           + "Colored\n\n"       // index 48 - 55
           + "Highlighted\n\n"   // index 57 - 68
           + "K Superscript\n\n" // "Superscript" index 72 - 83 
           + "K Subscript\n\n"   // "Subscript" index 87 - 96
           + "Url\n\n"           //  index 98 - 101
           + "Clickable\n\n");   // index 103 - 112

     // make the text twice as large
     styledString.setSpan(new RelativeSizeSpan(2f), 0, 5, 0);

     // make text bold
     styledString.setSpan(new StyleSpan(Typeface.BOLD), 7, 11, 0);

     // underline text
     styledString.setSpan(new UnderlineSpan(), 13, 23, 0);

    // Give the styled string to a TextView
    TextView textView = new TextView(this);
    textView.setText(styledString);

Check this out查看完整的代码。

希望有帮助。