2012-11-24 127 views
3

從我的配置活動中,用戶可以選擇他/她希望的窗口小部件的字體大小。我設置字體大小是這樣的:更改AppWidget上TextView的字體大小

RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget); 
views.setFloat(R.id.tvConfigInput, "setTextSize", 25); 

但我不如何與所選尺寸

任何建議更新工具?

感謝

回答

1

你必須使用你的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類的名稱。

0

你應該工作,因爲setTextSize()是一個RemotableViewMethod(至少在當前的源代碼中),因此應該與RemoteViews一起使用。

首先,在Android 4.2模擬器上嘗試一下你的應用小部件,看它是否有效。如果是這樣,那麼答案是setTextSize()在Android 4.2上可用,在您最初嘗試的任何環境中都不可用,並且應該可以在它們之間的某處使用。

否則,請確保您實際上是使用AppWidgetManagerupdateAppWidget()等方法更新應用程序小部件。