Изменение размера изображений в Android для использования в виде списка - PullRequest
0 голосов
/ 03 мая 2011

У меня есть куча «больших» изображений размером 400x400, которые я извлекаю из источника в Интернете, и мне нужно отобразить их в виде эскизов 100x100 в ListView на Android.Если я просто установлю размеры для элемента imageview в xml, то очень ясно, что он только сокращает изображения до 100x100 по двум причинам:

1) Изображения не выглядят пересчитанными 2) Когда задано больше, чемскажем, 10 из этих изображений в списке, прокрутка становится невыносимо медленной

Меня не беспокоит КАК № 1, но прокрутка должна оставаться плавной.Так что мне интересно, как мне изменить размер / пересэмплировать эти изображения и кэшировать их?Я немного погуглил, но просто не могу найти хороший ресурс для того, что было бы лучшим в этой ситуации.

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 03 мая 2011

Взгляните на BitmapFactory и Опции класса.Options имеет значение inSampleSize, которое можно установить для уменьшения изображения при чтении. Вы можете попробовать что-то вроде

Options op = new Options();
op.inSampleSize = 4;//You want to scale from 400 to 100
Bitmap thumbnail = BitmapFactory.decodeFile(fileName, op);
0 голосов
/ 03 мая 2011

Просто установите android:scaleType="fitCenter", и ваше изображение будет уменьшено до желаемого размера.

...