Как установить ImageViewable Drawable Size в зависимости от размера родительского представления? - PullRequest
1 голос
/ 03 апреля 2012

У меня есть imageView внутри относительного макета. И когда я создаю упражнение, я запускаю поток, чтобы получить растровое изображение из Интернета и установить imageView.

То, что я хочу, это изменить размер растрового изображения в соответствии с размером относительного вида, сохраняя при этом соотношение сторон. Код для изменения размера изображения работает, но я получаю относительный размер представления, вызывая myRelativeView.getWidth() & myRelativeView.getHeight(), и я чувствую, что не должен этого делать, поскольку в документах говорится, что он может вернуть 0. Так что лучший способ получить размер относительного представления в этом случае?

Ответы [ 2 ]

1 голос
/ 03 апреля 2012

FIX для вашего запроса:]

Если вы не хотите изменять размер, установите для ImageView scaleType значение «matrix»

, если вы хотите изменить размер, но сохраняете соотношение сторон, установите свойImageView scaleType to «fitCenter» (или fitStart fitEnd)

Изменить в коде

ImageView image;

image = (ImageView)findViewById(R.id.yourImageView1);

image.setScaleType(ImageView.ScaleType.FIT_CENTER);

Изменить в примере XML

<ImageView
    android:layout_width="match_parent"
    android:layout_width="match_parent"
    android:scaleType="fitCenter"
    android:src="ic_launcher"/>
0 голосов
/ 03 апреля 2012

Если макет пропорционален всему экрану, вы можете попробовать:

Display display = getWindowManager().getDefaultDisplay();
        width = display.getWidth()

// * пропорция или -dp;height = display.getHeight () // * пропорция2; или -dp;

...