libreria android image picasso

android - libreria - Obtención de ancho y alto de imagen con la librería picasso



libreria picasso (2)

Estoy usando la biblioteca de picasso para descargar y cargar imágenes en imageView. ¿Ahora quiero saber cómo puedo obtener el ancho y el alto de la imagen antes de cargarlos en imageViews?

Tengo una vista de lista con un adaptador que contiene dos imageView (uno de ellos es vertical y el otro es horizontal). depende del ancho y la altura de la imagen. Quiero cargar la imagen en una de las vistas de imagen.


Puede obtener las dimensiones del mapa de bits solo después de descargarlo. Debe usar la llamada de método síncrono de esta forma:

final Bitmap image = Picasso.with(this).load("http://").get(); int width = image.getWidth(); int height = image.getHeight();

Después de esto, puede volver a llamar a cargar con la misma url (se recuperará del caché):

Picasso.with(this).load("http://").into(imageView)

Edit: Quizás 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() { } });