从我的配置活动中,用户可以选择他/她希望的窗口小部件的字体大小。我设置字体大小是这样的:更改AppWidget上TextView的字体大小
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);
views.setFloat(R.id.tvConfigInput, "setTextSize", 25);
但我不如何与所选尺寸
任何建议更新工具?
感谢
从我的配置活动中,用户可以选择他/她希望的窗口小部件的字体大小。我设置字体大小是这样的:更改AppWidget上TextView的字体大小
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget);
views.setFloat(R.id.tvConfigInput, "setTextSize", 25);
但我不如何与所选尺寸
任何建议更新工具?
感谢
你必须使用你的onReceive例如AppWidgetManager.For您的AppWidgetProvider()方法做一些这样的事情:
@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
类的名称。
你应该工作,因为setTextSize()
是一个RemotableViewMethod
(至少在当前的源代码中),因此应该与RemoteViews
一起使用。
首先,在Android 4.2模拟器上尝试一下你的应用小部件,看它是否有效。如果是这样,那么答案是setTextSize()
在Android 4.2上可用,在您最初尝试的任何环境中都不可用,并且应该可以在它们之间的某处使用。
否则,请确保您实际上是使用AppWidgetManager
和updateAppWidget()
等方法更新应用程序小部件。