Intentaré ser lo más claro posible.Galería e ImageView a pantalla completa, problema al juntarlos
aquí lo que estoy tratando de hacer
un visor de imágenes, donde la imagen de visualización sería tan grande como sea posible en la pantalla del dispositivo. Para esta búsqueda y para una mejor experiencia de usuario, pensé en una galería. ¡Hasta allí todo está bien!
El problema
El problema es que en el getView función de mi adaptador, que utiliza sólo los Gallery.LayoutParams de la primera imagen que tengo en mi galería. Lo que significa que si la primera imagen es un paisaje y la segunda un retrato, la segunda se mostrará como paisaje, con la misma dimensión que la primera. Restablezco Gallery.LayoutParams pero no importa, todavía tiene los LayoutParams del primer ImageView.
El código
public View getView(int position, View convertView, ViewGroup parent) {
ImageView im = new ImageView(mContext);
Bitmap bm = BitmapFactory.decodeByteArray(gallery.get(position).mContent, 0, gallery.get(position).mContent.length);
im.setImageBitmap(bm);
int width = 0;
int height = 0;
if (bm.getHeight() < bm.getWidth()) {
width = getWindowManager().getDefaultDisplay().getWidth();
height = bm.getHeight() * width/bm.getWidth();
}
else {
height = getWindowManager().getDefaultDisplay().getHeight();
width = bm.getWidth() * height/ bm.getHeight();
}
Gallery.LayoutParams lp = new Gallery.LayoutParams(width, height);
im.setLayoutParams(lp);
return im;
}
Si alguno de ustedes ver por qué sería realmente quiera saber la respuesta,
Vi tu video en línea sobre convertView, lo aplicaré. Entonces, no hay solución para mi problema al usar la Galería si entendí tu mensaje, ¿estoy en lo cierto? – Spredzy
Si desea obtener más rendimiento, también puede usar Holder Design Pattern y puede establecer etiquetas y etiquetas en lugar de buscarlas en la jerarquía de vistas. –
Como Romain dijo que faltaba el mecanismo de caché/reciclaje en la Galería, por lo que siempre obtendrás una conversión nula en tu adaptador. Como alternativa, puede usar el widget DOWUX GalleryFlow, que tiene una implementación en funcionamiento del mecanismo de almacenamiento en caché/reciclaje. Puede utilizar GalleryFlow para reemplazar la galería de valores. –