android - usar - Picasso carga recursos extraíbles de su URI
para que sirve la libreria picasso en android studio (5)
Como se menciona en la documentación de Picasso .
ahora están soportando cargar Image from URI como el siguiente:
imageView = (ImageView) convertView
.findViewById(R.id.itemImage);
entonces tienes que hacer algo como lo siguiente:
int productImageId = resources.getIdentifier(
productImageName, "drawable", context.getPackageName());
al igual que lo que estás haciendo ya.
Espero que ayude .
Tengo que cargar un dibujable en un ImgeView. En esta aplicación, estoy usando Picasso por otros motivos. En este caso, necesito cargar el dibujo usando su uri y no su identificación. Para hacer eso, aquí está mi código:
uri = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://"+context.getPackageName()+"/drawable/" + drawableName);
Entonces
Picasso.with(context).load(uri).into(imageView);
Sé con certeza que el nombre dibujable es correcto, pero parece que a Picasso no le gusta este uri.
De picasso v2 + aquí hay una gran modificación. La nueva versión es muy útil para administrar los datos de efectivo. Está usando Singleton Instance.
GRADLE
implementation ''com.squareup.picasso:picasso:2.71828''
Establecer imagen dibujable
Picasso.get()
.load(url)
.placeholder(R.drawable.user_placeholder)
.error(R.drawable.user_placeholder_error)
.into(imageView);
Bonificación, obtener dibujables por nombre:
public static int getDrawableIdFromFileName(Context context, String nameOfDrawable) {
return context.getResources().getIdentifier(nameOfDrawable, "drawable", context.getPackageName());
}
Encontré la respuesta. Lamentablemente, Picasso no permite la carga dibujable a través de URI. Es una característica entrante.
Si las imágenes están en su carpeta dibujable, puede cargarlas.
Picasso.with(context).load(R.drawable.drawableName).into(imageView);
y picasso lo cargará sin necesidad de un Uri.
- Esto es si no quieres codificar la imagen que vas a cargar ...
Puede cargar archivos de imágenes locales desde su carpeta dibuja de forma perezosa si conoce el valor entero de la imagen que desea cargar.
Entonces puedes hacer:
load(android.net.Uri uri)
Dónde
imageView
es la vista en la que desea visualizar la imagen. Por ejemplo:
Picasso.with(context).load(uri).into(imageView);
Y donde
imageResourceId
es el valor entero del dibujable. Puede recuperar este valor entero de la siguiente manera:
Picasso.with(getContext()).load(imageResourceId)
.error(R.drawable.ic_launcher)
.into(imageView);
Dónde
productImageName
es el nombre del dibujable que desea dibujar (es decir, "ic_launcher")
ESTO SE PUEDE HACER EL ADAPTADOR