J'ai un LinearLayout vertical où l'un des éléments est ImageView
chargé à l'aide de Picasso. J'ai besoin d'augmenter la largeur de l'image jusqu'à la largeur totale de l'appareil et d'afficher la partie centrale de l'image recadrée d'une hauteur fixe (150dp). J'ai actuellement le code suivant:
Picasso.with(getActivity())
.load(imageUrl)
.placeholder(R.drawable.placeholder)
.error(R.drawable.error)
.resize(screenWidth, imageHeight)
.centerInside()
.into(imageView);
Quelles valeurs dois-je mettre dans screenWidth
et imageHeight
(= 150dp)?
.fit().centerInside()
a fonctionné pour moi où la simple utilisation.centerInside()
plantait avecCenter inside requires calling resize with positive width and height.
un message d'erreur..fit().centerCrop()
ou.fit().centerInside()
ne fonctionne pas. L'image ne se charge pasimageView
. sans.fit()
image se charge bien. Je n'utilise pas.resize()
dans les deux cas.Dans certains cas, fit () est inutile. Avant, vous devez attendre la fin de la mesure de la largeur et de la hauteur. Vous pouvez donc utiliser globallayoutlistener. par exemple;
la source