Android RemoteView自定义字体

Android RemoteView自定义字体,android,Android,如何在我的小部件中设置自定义字体 remoteViews.setTextViewText(R.id.text1,""+ days); 有人能给我举一个如何设置字体的例子吗?试试这个,它可能会帮助你了解如何为你的文本视图应用自定义字体效果 如何在我的小部件中设置自定义字体 remoteViews.setTextViewText(R.id.text1,""+ days); 你没有。您可以通过android:typeface在布局XML中选择三种内置字体中的一种,但不能在remoteview中使

如何在我的小部件中设置自定义字体

remoteViews.setTextViewText(R.id.text1,""+ days);

有人能给我举一个如何设置字体的例子吗?

试试这个,它可能会帮助你了解如何为你的
文本视图应用
自定义字体效果

如何在我的小部件中设置自定义字体

remoteViews.setTextViewText(R.id.text1,""+ days);

你没有。您可以通过
android:typeface
在布局XML中选择三种内置字体中的一种,但不能在
remoteview
中使用带有
TextView
的自定义字体
setTypeface()
,一种用于在
TextView
上指定自定义字体的Java方法,不适用于
RemoteView

,有两种解决方法可能会有所帮助

1-如果您能够仅显示AppWidget自身设置的文本,则可以使用SpannableString,为此(对于粗体等),您可以使用普通调用设置SpannableString

2-如果您确实需要更改TextView的字体系列,以便将来的文本显示在字体系列中,那么这就更难了。正如Commonware所提到的,您不能使用RemoteView以编程方式设置任意字体系列。但是,如果您有一组较小的预定义字体(或粗体等字体权重),则有一种方法可以做到这一点。它并不漂亮,但如果字体和变体的数量得到相当的控制,它就会起作用

在我的例子中,我使用TextClock创建了一个时钟应用程序小部件。因为文本更新不受AppWidget控制,所以我无法使用SpannableStrings。我想提供6个内置字体选项。我在布局文件中创建了6个TextClock,每个都有不同的字体,只需在配置时使我想要的一个可见,其他的“消失”。丑陋但有效。因此:

appwidget_layout.xml

<TextClock
    android:id="@+id/clock_seconds_condensed"
    android:fontFamily="sans-serif-condensed"
    ....
/>
<TextClock
    android:visibility="gone"
    android:id="@+id/clock_seconds_normal"
    android:fontFamily="sans-serif"
    ....
/>
<TextClock
    android:visibility="gone"
    android:id="@+id/clock_seconds_black"
    android:fontFamily="sans-serif-black"
    ....
/>
...

您的链接是针对小部件的,而不是针对
RemoteView
。请查看该URL[custom-font-on-a-android-widget][1][1]:您的意思是没有在自定义通知布局中使用我的自定义字体的解决方案?我在一些应用程序中看到,在notification@hassanmoradnezhad:然后他们将该字体中的文本渲染为位图并显示位图。从可访问性的角度来看,这不是一个好的选择。谢谢,我发现这对我有帮助