我有一个仅包含一个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);
答案 0 :(得分:1)
如果您只想在低API中设置testView文本大小,请使用以下代码:
float textSize = 30.0f
v.setFloat(R.id.widgetTextViewLineOne, "setTextSize", textSize);
float - > textSize是一个根据运行代码的设备缩放文本大小的数字。