我正在尝试编写一个简单的Android小部件,我遇到了以下问题。
我正在尝试从appWidgetProvider类访问textView,以便将字体设置为自定义字体。代码如下所示:
TextView mytext = (TextView) findViewById(R.id.mytext);
Typeface typeface = Typeface.createFromAsset(context.getAssets(), "fonts/custom-font.ttf");
mytext.setTypeface(typeface);
问题是appWidgetProvider对象中没有定义findViewById。那我该怎么做?我发现你可以通过创建一个画布并将自定义字体绘制到ImageView来实现这一点,但这不是一个好的解决方案。有没有办法用textView做到这一点?如果可以在活动中完成,为什么不能在小部件中完成?
由于
答案 0 :(得分:0)
那我该怎么做?
你做不到。您必须坚持使用应用小部件的内置字体,直到他们向setTypeface()
添加RemoteViews
支持为止。
如果可以在活动中完成,为什么不能在小部件中完成?
因为应用小部件的Views
不在您的流程中。它们处于主屏幕的过程中。