Установить ширину и высоту ImageView в программном виде на виджет

Я использую ниже код, чтобы установить изображение на виджете виджета с помощью remoteview. Теперь я хочу установить высоту и ширину для среды просмотра изображений.

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);
}

Ответ 1

Вы можете настроить параметры макета таким образом:

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

Ответ 2

Привет, попробуйте эту строку, чтобы установить ширину и высоту изображения

image_view.getLayoutParams().height = 20;

image_view.getLayoutParams().width = 100;

Ответ 3

Это должно сработать!

image.getLayoutParams().height = 90;