0

我有一个只包含一个 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);
4

1 回答 1

1

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

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

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

于 2013-07-31T23:14:24.537 回答