从appWidgetProvider访问视图对象

时间:2010-11-09 17:59:56

标签: android widget

我正在尝试编写一个简单的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做到这一点?如果可以在活动中完成,为什么不能在小部件中完成?

由于

1 个答案:

答案 0 :(得分:0)

  

那我该怎么做?

你做不到。您必须坚持使用应用小部件的内置字体,直到他们向setTypeface()添加RemoteViews支持为止。

  

如果可以在活动中完成,为什么不能在小部件中完成?

因为应用小部件的Views不在您的流程中。它们处于主屏幕的过程中。