Я знаю, что при использовании fit() и resize() размер изображения уменьшается перед загрузкой. Тем не менее, в тех случаях, когда используется listView и соотношения изображений различаются, мне нужно установить layout_width и layout_height для imageView как wrap_content, а затем использовать transform() для определения соотношения изображения перед помещением его в imageView.
eg.
Picasso.with(mContext).load(region.getImage_url()).transform(new Transformation() {
@Override
public Bitmap transform(Bitmap source) {
int targetWidth = getContext().getSharedPreferences(Constants.PREFERENCES, Context.MODE_PRIVATE).getInt(Constants.DEVICE_WIDTH, 0);
double aspectRatio = (double) source.getHeight() / (double) source.getWidth();
int targetHeight = (int) (holder.targetWidth * aspectRatio);
Bitmap result = Bitmap.createScaledBitmap(source, targetWidth, targetHeight, false);
if (result != source) {
// Same bitmap is returned if sizes are the same
source.recycle();
}
return result;
}
@Override
public String key() {
return "transformation" + " desiredWidth";
}
}).into(holder.imageView);
Итак, моя проблема в том, будет ли метод преобразования Пикассо также иметь дело с уменьшением размеров изображений перед загрузкой? Если нет, то каков наилучший подход к этому, не устанавливая фиксированное соотношение для просмотра изображений в списке?
the image gets downsized before downloading
как именно вы собираетесь это сделать? - person njzk2   schedule 16.01.2015