es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Flutter. Los bordes redondeados de la imagen no están funcionando.

Estoy intentando hacer esquinas redondeadas de una imagen. Aquí está mi código:

ClipRRect(
  borderRadius: BorderRadius.circular(14),
  child: Image.asset(
    "assets/images/test.png"                         
  )
)

Todo funciona bien, pero cuando trato de ajustar la imagen en un contenedor con una altura y anchura fijas, las bordes redondeados dejan de funcionar. Aquí está mi código:

LimitedBox(
  maxWidth: 95,
  maxHeight: 95,
  child: ClipRRect(
    borderRadius: BorderRadius.circular(14),
    child: Image.asset(
      "assets/images/test.png"                        
    ),
  ),
)

¿Por qué está sucediendo esto, por favor ayúdame.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Esto está sucediendo porque el widget ClipRRect está recortando la imagen en función del tamaño de la imagen en sí misma, no del tamaño del contenedor. Cuando envuelves la imagen con un contenedor, estás obligando a la imagen a ajustarse dentro de las dimensiones del contenedor, lo que significa que la imagen podría no tener el mismo tamaño que la imagen original. Para mantener las esquinas redondeadas, debes asegurarte de que el widget ClipRRect conozca el tamaño de la imagen.

    Una solución es utilizar la propiedad fit del widget Image para asegurarte de que la imagen se ajuste a las dimensiones del contenedor sin perder su relación de aspecto. Por ejemplo, puedes establecer fit: BoxFit.cover, lo cual escala la imagen todo lo más grande posible manteniendo su relación de aspecto.

    Aquí tienes un ejemplo:

    LimitedBox(
      maxWidth: 95,
      maxHeight: 95,
      child: ClipRRect(
        borderRadius: BorderRadius.circular(14),
        child: Image.asset(
          "assets/images/test.png",
          fit: BoxFit.cover, // Agrega esta línea
        ),
      ),
    )
    

    Con este código, la imagen se debería escalar para ajustarse al contenedor, manteniendo su relación de aspecto y bordes redondeados.

Comments are closed.