У меня есть вертикальная LinearLayout, где один из элементов ImageView
загружается с помощью Пикассо. Мне нужно увеличить ширину изображения до полной ширины устройства и отобразить центральную часть изображения, обрезанную на фиксированную высоту (150 точек на дюйм). В настоящее время у меня есть следующий код:
Picasso.with(getActivity())
.load(imageUrl)
.placeholder(R.drawable.placeholder)
.error(R.drawable.error)
.resize(screenWidth, imageHeight)
.centerInside()
.into(imageView);
Какие значения я должен ввести screenWidth
и imageHeight
(= 150dp)?
.fit().centerInside()
работал для меня, где просто использование.centerInside()
было сбой сCenter inside requires calling resize with positive width and height.
сообщением об ошибке..fit().centerCrop()
или.fit().centerInside()
не работает. Изображение не загружается вimageView
. без.fit()
изображения загружается нормально. Я не пользуюсь.resize()
в обоих случаях.В некоторых случаях функция fit () бесполезна. Прежде чем ждать окончания измерения ширины и высоты. Таким образом, вы можете использовать globallayoutlistener. например;
источник