從我的配置活動中,用戶可以選擇他/她希望的窗口小部件的字體大小。我設置字體大小是這樣的:更改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()
等方法更新應用程序小部件。