从我的配置活动中,用户可以选择他/她所需的小部件字体大小。我设置了这样的字体大小:
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);
views.setFloat(R.id.tvConfigInput, "setTextSize", 25);
但我不知道如何用所选尺寸更新Widget
有什么建议吗?
由于
答案 0 :(得分:1)
您必须使用AppWidgetManager。例如,AppWidgetProvider的onReceive()方法执行以下操作:
@Override
public void onReceive(Context context, Intent intent) {
views = new RemoteViews(context.getPackageName(),
R.layout.widget);
AppWidgetManager mManager = AppWidgetManager.getInstance(context);
ComponentName cn = new ComponentName(context,YourAppWidgetProvider.class);
...
mManager.updateAppWidget(cn, views);
}
此处YourAppWidgetProvider
是扩展AppWidgetProvider
的类的名称。
答案 1 :(得分:0)
您的工作应该有效,因为setTextSize()
是RemotableViewMethod
(至少在当前的源代码中),因此应该与RemoteViews
一起使用。
首先,在Android 4.2模拟器上尝试您的应用小部件,看看它是否有效。如果确实如此,则答案是setTextSize()
在Android 4.2上可用,在您最初尝试的任何环境中都不可用,并且应该可以在它们之间的某个地方使用。
否则,请确保您实际使用AppWidgetManager
和updateAppWidget()
等方法更新应用小部件。