如何在Android中使用TextView上方的红色星号符号

3

我有一个文本视图。由于文本视图是必需的,所以我想在文本视图顶部用红色的*符号。enter image description here


在TextView右侧使用一个ImageView来显示一张图片,其重心为top|left。 - Ankush Bist
1
use * with html.fromhtml(); - Divyesh Patel
或者使用 SpannableString - N J
4个回答

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

5

使用以下代码在strings.xml文件中实现此功能最简单,然后在color.xml文件中提供颜色即可。

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

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

它正在工作,但它没有出现在顶部,我想要一个像图片中那样的小图标在顶部锁定。 - android_jain
嘿,sourabhjain,为什么你用图标代替星号符号?有什么原因吗? - Chetan Patel
不,我只想要顶部现在它出现在文本后面,看起来像红色文本。我想要文本之后的一半大小,请参见图像。 - android_jain
<TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="name" /> - Chetan Patel

0

您可以使用Unicode中的"ASTERISK",它是"*"的上一版本,并使用可跨度字符串的上述方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接