Obteniendo el ancho y altura de la imagen con la biblioteca picasso
Estoy usando la biblioteca picasso para descargar y cargar imágenes en imageView. Ahora quiero saber cómo puedo obtener el ancho de la imagen y la altura antes de cargarlos en imageViews?
Tengo un listview con un adaptador que contiene dos imageView (uno de ellos es vertical y otro es horizontal). Depende del ancho de la imagen y la altura que quiero cargar la imagen en una de las vistas de imagen.
- Android: Picasso no carga algunas imágenes
- Cómo obtener un contexto en un adaptador de vista de reciclador
- ¿Cómo puedo acceder a la imagen en caché de Picasso para hacer una intención de compartir?
- Uso de Fresco de Facebook para cargar un mapa de bits
- Picasso no puede cargar imagen dentro del método onSuccess de StorageReference
- Establecer el ancho máximo para cargar imágenes con Picasso
- Acercamiento a las imágenes de Android en DB
- Pinzado de certificado SSL con Picasso
- Uso de la biblioteca Picasso con ListView
- Android: falla en la imagen de carga de Picasso. Cómo mostrar mensaje de error
- Rotar correctamente las imágenes web utilizando Picasso de Square
- Cómo mostrar el porcentaje de descarga al cargar imágenes en Picasso
- No se puede cargar la imagen de url utilizando picasso
Puede obtener las dimensiones de mapa de bits sólo después de descargarlo. Debe utilizar la llamada de método síncrono de la siguiente manera:
final Bitmap image = Picasso.with(this).load("http://").get(); int width = image.getWidth(); int height = image.getHeight();
Después de esto usted puede llamar otra vez cargar con la misma url (Se buscará desde la memoria caché):
Picasso.with(this).load("http://").into(imageView)
Edit: Tal vez mejor manera:
Picasso.with(this).load("http://").into(new Target() { @Override public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { int width = bitmap.getWidth(); int height = bitmap.getHeight(); imgView.setImageBitmap(bitmap); } @Override public void onBitmapFailed(Drawable errorDrawable) { } @Override public void onPrepareLoad(Drawable placeHolderDrawable) { } });
Trabaja para mi.
Picasso.with(context).load(imageLink).into(imageView, new Callback() { @Override public void onSuccess() { Picasso.with(context).load(imageLink).into(new Target() { @Override public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { int width = bitmap.getWidth(); int height = bitmap.getHeight(); Log.d("ComeHere ", " W : "+ width+" H : "+height); } @Override public void onBitmapFailed(Drawable errorDrawable) { } @Override public void onPrepareLoad(Drawable placeHolderDrawable) { } }); } @Override public void onError() { } });
- API de datos de Youtube: Obtenga acceso al flujo multimedia ya la reproducción (JAVA)
- Uso de SurfaceTexture en Android