Ich möchte eine Android-Galerie, die Bilder mit unterschiedlichen Seitenverhältnissen hosten wird. Was ich möchte, ist so etwas wie CENTER_CROP für die Bilder in der Galerie. jedoch, wenn ich den Bildskalierungstyp auf diese eingestellt, die Bilder über die Galerie Bild Grenze.
FIT_XY führt natürlich zu gequetschten / abgeflachten Bildern. CENTER führt zu horizontalem oder vertikalem schwarzem Raum innerhalb des Bildrandes der Galerie.
alle Ideen, wie dies zu erreichen? jedes Beispiel, das ich finden kann, verwendet FIT_XY mit festen Größe Bilder. ich nehme an, ich könnte die Bilder selbst beschneiden, aber ich würde lieber nicht.
@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;
}