如何在android中的textview上使用红色*符号

时间:2017-01-18 10:28:23

标签: java android textview

我有一个文字视图。文本视图是必填项,因此我希望文本视图顶部的*符号为红色。enter image description here

4 个答案:

答案 0 :(得分:7)

TextView text = (TextView)findViewById(R.id.text);
String simple = "Enter your name ";
String colored = "*";
SpannableStringBuilder builder = new SpannableStringBuilder(simple+colored);

builder.setSpan(new ForegroundColorSpan(Color.RED), simple.lenth(), builder.length(), 
            Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

text.setText(builder);

答案 1 :(得分:1)

    TextView txt_name = (TextView) findViewById(R.id.text);
    String simple = "Name";
    String colored = "*";

    SpannableStringBuilder builder = new SpannableStringBuilder();
    builder.append(simple);
    int start = builder.length();
    builder.append(colored);
    int end = builder.length();

    builder.setSpan(new ForegroundColorSpan(Color.RED), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

    txt_name.setText(builder);

答案 2 :(得分:0)

您可以为"ASTERISK"使用unicode,这是“*”的高级版本,并使用带有spannable字符串的上述方法。

答案 3 :(得分:0)

通过在strings.xml文件中使用以下代码并在color.xml文件中提供颜色来实现此目的的最简单方法之一

<string name="user_name">UserName <font color='red'>*</font></string>