13

以下のコードを使用して、remoteview を使用してウィジェット imageview に画像を設定しています。高さと幅を imageview ランタイムに設定したいと考えています。

if (appWidgetId != AppWidgetManager.INVALID_APPWIDGET_ID) {
    AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(WidgetActivity1_1.this);
    RemoteViews remoteViews = new RemoteViews(WidgetActivity1_1.this.getPackageName(), R.layout.widget_layout1_1);
    Intent configIntent = new Intent(WidgetActivity1_1.this,UpdateWidgetService.class);
    configIntent.putExtra("Appid", appWidgetId);
    PendingIntent configPendingIntent = PendingIntent.getService(WidgetActivity1_1.this, appWidgetId, configIntent, 0);
    remoteViews.setImageViewResource(R.id.imgviewGrow, R.drawable.flower1);
}
4

3 に答える 3

12

次のようにして、Layout Params をプログラム的に設定できます。

myImageView.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT));

または代わりに数値を設定します。

画像サイズの操作は難しい場合があるため、最初に画像レイアウト パラメータを取得し、変更して元に戻すことをお勧めします。

android.view.ViewGroup.LayoutParams layoutParams = myImageView.getLayoutParams();
layoutParams.width = 30;
layoutParams.height = 30;
myImageView.setLayoutParams(layoutParams);

それでもサイズの変更に問題がある場合は、LinearLayout 内に配置し、レイアウト パラメータを使用して imageView のサイズを操作してみてください。

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(30, 30);
myImageView.setLayoutParams(layoutParams);

更新:次の投稿は、必要なものに役立ちます。

RemoteViews setLayoutParams?

http://pastebin.com/As3L8xWu

于 2013-03-02T06:58:28.317 に答える
-5

こんにちは、これらの行を試して、イメージビューの幅と高さを設定してください

image_view.getLayoutParams().height = 20;

image_view.getLayoutParams().width = 100;
于 2013-03-02T07:16:07.497 に答える