3

私の設定アクティビティから、ユーザーはウィジェットの希望するフォントサイズを選択できます。フォントサイズを次のように設定します。

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

しかし、選択したサイズでウィジェットを更新する方法はありません

助言がありますか?

ありがとう

4

2 に答える 2

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

于 2012-11-24T12:58:36.427 に答える
0

あなたが持っているものsetTextSize()は、RemotableViewMethod(少なくとも現在のソースコードでは)のように動作するはずであり、したがって で動作するはずRemoteViewsです。

まず、Android 4.2 エミュレーターでアプリ ウィジェットを試して、動作するかどうかを確認します。もしそうなら、答えはsetTextSize()Android 4.2で使用可能で、最初に試した環境では使用できず、それらの間のどこかで使用可能になるはずです.

AppWidgetManagerそれ以外の場合は、や などのメソッドを使用して、実際にアプリ ウィジェットを更新していることを確認してくださいupdateAppWidget()

于 2012-11-24T12:58:52.260 に答える