繁体   English   中英

Android:TextView,unicode字符无法正确显示

[英]Android: TextView, unicode character not shown properly

我通过设置一些unicode星标以编程方式向TextView添加了评级。 它是unicode星号\\ u22C6 ,但是启动应用程序时, TextView向我显示此字符: \\ u22A0

这是我创建它的方式:

private CharSequence calculatedSelectedRating(Integer rating)
{
    StringBuffer stringBuffer = new StringBuffer();

    //Star is ⋆ or \u22C6
    for (int i = 0; i < rating; i++)
    {
        stringBuffer.append('\u22C6');
    }

    return stringBuffer.toString();
}

结果是我通过setText(...)方法在TextView设置的。

任何想法为什么会出现这种差异?

某些字体不支持某些字符。 检查您的消息是否以其他字体显示; 在您的资产文件夹中包含ttf文件,并使用该字体将TextView的内容设置为类似以下内容:

yourTextView=(TextView)findViewById(R.id.idOfYourTextView);
Typeface font= Typeface.createFromAsset(getAssets(), "The_Font.TTF");
yourTextView.setTypeface(font);

希望能帮助到你。

尝试使用"代替'

stringBuffer.append("\u22C6");

在TextView上,可以使用HTML格式设置文本。 做这样的事情

mTextView.setText(Html.fromHtml(text));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM