Масштабирование и позиционирование изображений в ImageView внутри макета AppWidget - PullRequest
0 голосов
/ 16 июня 2019

ПРИМЕЧАНИЕ проблема решена ... это была проблема в самом растровом изображении, а не в макете XML, используемом для его отображения ... см. этот комментарий . Не нужно читать, если вам не интересно!


Когда я устанавливаю содержимое ImageView (примечание в макете AppWidget) на растровое изображение, которое меньше, чем физический размер пикселя ImageView, я уверен, что в прошлом (не уверен, как долго назад) растровое изображение будет просто увеличено, чтобы соответствовать ... в моем случае меньшее изображение точно такое же соотношение сторон, как ImageView, так что это именно тот эффект, который я хочу.

Но недавно я заметил, что этого больше не происходит ... растровое изображение находится в верхнем левом углу. Я пытался установить различные атрибуты в макете XML, но ничто не имеет никакого эффекта.

например. Я пробовал:

android:scaleType="fitCenter"

android:scaleType="centerInside"

android:layout_gravity="center"

Но изображение все еще находится в ImageView на одном уровне с верхним левым углом, с пробелами справа и снизу.

XML (часть ImageView):

<ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/imageView_port"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

ImageView находится внутри родительского элемента, определенного в XML как:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="@dimen/widget_margin"
    android:id="@+id/widget" >

Код для вставки URI содержимого изображения в appwidget:

remoteViews.setImageViewUri(imageViewId, uri);
appWidgetManager.partiallyUpdateAppWidget(appWidgetId, remoteViews);

Как это выглядит для изображения с размером, который соответствует виджету imageview:

enter image description here

Как выглядит изображение, которое меньше, чем виджет imageview:

enter image description here

Я хочу, чтобы уменьшенное изображение было увеличено до размера ImageView (это такое же соотношение сторон, поэтому оно идеально подойдет).

1 Ответ

0 голосов
/ 20 июня 2019

попробуй

    android:scaleType="centerCrop"

ИЛИ

    android:scaleType="fitXY"
...