Je souhaite avoir une galerie android qui hébergera des images de différents formats. ce que je voudrais, c'est quelque chose comme CENTER_CROP pour les images de la galerie. Cependant, lorsque je définis le type d'échelle de l'image, les images dépassent la limite de l'image de la galerie.Galerie android avec des proportions arbitraires
bien sûr, FIT_XY donne des images écrasées/aplaties. CENTRE produit un espace noir horizontal ou vertical à l'intérieur de la bordure de l'image de la galerie.
des idées pour y parvenir? chaque exemple que je peux trouver utilise FIT_XY avec des images de taille fixe. Je suppose que je pourrais recadrer les images moi-même mais je préfère ne pas.
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView iv = (ImageView) convertView;
if (iv == null) {
iv = new ImageView(context);
iv.setScaleType(ImageView.ScaleType.FIT_XY);
iv.setBackgroundResource(galleryItemBackground);
iv.setLayoutParams(new Gallery.LayoutParams(200, 200));
}
InputStream is;
try {
is = getInputStream(position);
} catch (IOException ioe) {
// TODO?
throw new RuntimeException(ioe);
}
Bitmap bm = BitmapFactory.decodeStream(is);
iv.setImageBitmap(bm);
/*
* if (bitmaps[position] != null) { bitmaps[position].recycle();
* bitmaps[position] = null; } bitmaps[position] = bm;
*/
return iv;
}
Cette solution n'était pas valide pour moi car j'avais besoin d'une image entière pour pouvoir la faire défiler dans le conteneur ImageView. –