android widget:以编程方式设置字体

时间:2011-10-10 00:42:25

标签: android android-widget

据我所知,要在窗口小部件中使用自定义字体,我需要将字体呈现为位图,但如何以编程方式设置系统字体?

android:typeface="serif"
XML中的

是成功的,但我找不到在运行时这样做的方法。

我目前有

int fn = fullDate.length();
SpannableString dt = new SpannableString(fullDate);
dt.setSpan(new StyleSpan(Typeface.BOLD), 0, fn, 0);
remoteView.setTextViewText(R.id.dateText, dt);

哪个有效,但使用Typeface.SERIFThe constructor StyleSpan(Typeface) is undefined

1 个答案:

答案 0 :(得分:0)

您正在使用的StyleSpan的构造函数接受在Typeface中定义的常量而不是其中一个字段。可用的常数是

Typeface.BOLD
Typeface.BOLD_ITALIC
Typeface.ITALIC
Typeface.NORMAL

如果要将字体设置为特定字体,则需要使用TextView.setTypeFace()

修改 由于您只能访问远程视图,因此无法对窗口小部件执行此操作。其他人通过将图像传递到远程视图来规避这一点。有关详细信息,请参阅此问 How to use a custom typeface in a widget?