我正在尝试使用textView中的fontawesome.ttf加载字体图标。
如果我通过string.xml设置字符串值
,那么它将工作文件并显示图标。但是,如果将相同的文本""
以编程方式设置为
textView.setText("")
然后它没有显示图标,而是在textview上显示相同的文字。
以编程方式显示图标而不引用string.xml文件的任何替代方法?
答案 0 :(得分:8)
尝试使用Unicode代码... \uf007
这应该可以正常工作:
textView.setText("\uf007");
答案 1 :(得分:5)
我尝试使用16位整数转换字符串,它运行正常。
new String(Character.toChars(Integer.parseInt(
str, 16)))
str具有类似于f007的unicode值。
答案 2 :(得分:1)
这是我到目前为止发现的一个很好的例子。
<强> ORIGINAL ANSWER 强>
copy&amp;粘贴答案:
fontawesome-webfont.ttf
复制到您的assests文件夹在strings.xml中为每个图标创建一个条目。例如,一颗心:
<string name="icon_heart"></string>
在您的xml布局视图中引用了所述条目:
<Button android:id="@+id/like" ... android:text="@string/icon_heart" />
Typeface font = Typeface.createFromAsset( getAssets(), "fontawesome-webfont.ttf" ); Button button = (Button)findViewById( R.id.like ); button.setTypeface(font);
别忘了使用setTypeface()
答案 3 :(得分:0)
将代码放入xml中,然后使用
getString(R.string.fa_star_o);
工作正常