编辑小部件文本而不受RemotView的限制

时间:2013-07-29 20:27:14

标签: android android-widget remoteview

我有一个仅包含一个textView的小部件,我希望能够根据用户首选项编辑textView的颜色,大小和字体。但似乎更新窗口小部件的唯一方法是使用RemoteView。这对我来说有两个问题:

1。)这只允许编辑文本,颜色和大小(但编辑大小仅在API 16中可用,我支持11及以上。)

2。)这不允许我编辑字体。

幸运的是,textView类http://developer.android.com/reference/android/widget/TextView.html允许我做我想做的一切。有没有什么办法可以在我的小部件布局中的textView上调用这些方法,而不受RemoteView类的限制。

非常感谢所有帮助,到目前为止,这是我的代码。

RemoteViews v = new RemoteViews(getPackageName(), R.layout.widget);
v.setTextViewText(R.id.widgetTextViewLineOne, widgetTextViewLineOneText);
v.setTextColor( R.id.widgetTextViewLineOne, widgetColor);
manager.updateAppWidget(awID, v);

1 个答案:

答案 0 :(得分:1)

如果您只想在低API中设置testView文本大小,请使用以下代码:

      float textSize = 30.0f
      v.setFloat(R.id.widgetTextViewLineOne, "setTextSize", textSize);

float - > textSize是一个根据运行代码的设备缩放文本大小的数字。