Saltar al contenido

Hacer ImageView con esquina redonda usando picasso

Intenta interpretar el código correctamente previamente a usarlo a tu proyecto si ttienes algo que aportar puedes dejarlo en los comentarios.

Solución:

Estoy usando esta transformación: https://gist.github.com/julianshen/5829333

Picasso.with(activity).load(url).transform(new CircleTransform()).into(imageView);

Puede usar la clase RoundedCornersTransformation de la biblioteca de transformaciones de picasso.

Ejemplo :

final int radius = 5;
final int margin = 5;
final Transformation transformation = new RoundedCornersTransformation(radius, margin);
Picasso.with(activity).load(url).transform(transformation).into(imageView);

Puede usar esta clase para hacer una vista de imagen de rectángulo de esquinas redondeadas con Picasso, úselo así

 Picasso.with(activity).load(url).transform(new RoundedCornersTransform(this)).into(imageView);

Aquí está la clase RoundedCornersTransform.

package com.demo.picasso;

import android.graphics.Bitmap;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;

import com.squareup.picasso.Transformation;


public class RoundedCornersTransform implements Transformation 
@Override
public Bitmap transform(Bitmap source) 
    int size = Math.min(source.getWidth(), source.getHeight());

    int x = (source.getWidth() - size) / 2;
    int y = (source.getHeight() - size) / 2;

    Bitmap squaredBitmap = Bitmap.createBitmap(source, x, y, size, size);
    if (squaredBitmap != source) 
        source.recycle();
    

    Bitmap bitmap = Bitmap.createBitmap(size, size, source.getConfig());

    Canvas canvas = new Canvas(bitmap);
    Paint paint = new Paint();
    BitmapShader shader = new BitmapShader(squaredBitmap, BitmapShader.TileMode.CLAMP, BitmapShader.TileMode.CLAMP);
    paint.setShader(shader);
    paint.setAntiAlias(true);

    float r = size / 8f;
    canvas.drawRoundRect(new RectF(0, 0, source.getWidth(), source.getHeight()), r, r, paint);
    squaredBitmap.recycle();
    return bitmap;


@Override
public String key() 
    return "rounded_corners";
  

Reseñas y calificaciones del tutorial

Si para ti ha resultado de utilidad este artículo, agradeceríamos que lo compartas con otros juniors de este modo nos ayudas a difundir este contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *