У меня есть ImageView
, который я создаю программно и загружаю изображение в Picasso. Высота и ширина ImageView установлены на WRAP_CONTENT
. Изображение довольно большое, поэтому я хочу использовать методы Picasso .fit().centerCrop()
, чтобы сохранить память. Однако, когда я добавляю методы, изображения не отображаются, и я думаю, что это должно быть из-за WRAP_CONTENT
. Вот мой код:Picasso .fit(). CenterCrop() не работает с WRAP_CONTENT
ImageView iv = new ImageView(getContext());
RelativeLayout.LayoutParams centerParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
iv.setLayoutParams(centerParams);
Picasso.with(context)load(path).fit().centerCrop().into(iv); //if I remove .fit().centerCrop(), the images load just fine
Единственная информация, я мог бы найти на это this issue on GitHub об этом - в то время как вопрос говорит, что это был закрыт в v2.4, некоторые люди отмечают, говорят, что они испытывают его в v2. 5. (Я использую v2.5, а)
EDIT: Вот что я использую в настоящее время, согласно предложению Анжелы:
ImageView iv = new ImageView(getContext());
RelativeLayout.LayoutParams centerParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, dpToPx(350));
centerParams.addRule(RelativeLayout.CENTER_HORIZONTAL);
iv.setLayoutParams(centerParams);
iv.setAdjustViewBounds(true);
iv.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
Picasso.with(getContext()).load(path).fit().into(iv);
Изображения теперь отображаются, но они не масштабируется Соответственно, соотношение сторон изменяется как-то. Любые идеи о том, как сохранить соотношение сторон, при этом позволяя Picasso получить измерение для .fit()
?
Спасибо! :) Загрузка изображений сейчас, но я не могу правильно их масштабировать, соотношение сторон продолжает изменяться - обновленный код выше. – weirdo16
не работает для меня. –