6

私のウィジェット内では、次を使用して、メインのウィジェット レイアウト内で定義された LinearLayout にアイテム (R.layout.widget_item) を動的に追加しています。

//--  Main widget layout
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_design);

//--  Add to main layout
RemoteViews newView = new RemoteViews(context.getPackageName(), R.layout.widget_item);
views.addView(R.id.view_container, newView);

私の質問は、newView で「android:layout_weight」属性を動的に設定するにはどうすればよいですか?

4

3 に答える 3

1

参照: http://developer.android.com/reference/android/widget/RemoteViews.html

あなたの例の newView はクラス RemoteViews のインスタンスであり、RemoteViews が提供する以上のものを簡単に設定できるとは思いません。

newView.setLayoutParams(layoutParams);

上記は RemoteViews の一部ではないため、機能しません。

私が見る限り...寸法やその他のRemoteViewsのlayoutParamsを設定および検索する方法がいくつかあるかもしれませんが、まだ見つけていません。

于 2012-02-07T09:53:10.063 に答える
-1

最初に、このようなビューパラメーターを取得します

layoutParams = newView.getParams();

次に、//layoutParams .setThis/setThat を編集して、実行したいすべての種類の操作を行います。

次に、新しいパラメーターをビューに戻します

newView.setLayoutParams(layoutParams);
于 2011-09-10T17:59:00.330 に答える
-1

layout_weight は、LinearLayout 自体ではなく、LinearLayout に適用する LinearLayout.LayoutParams の一部です。layout_weight を表す 3 番目のパラメーターを取るコンストラクターがあります。

http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html#weight

于 2011-09-10T17:59:44.173 に答える