flutter - ¿Es posible insertar AspectRatio en la columna?

CorePress2024-01-24  14

Me gustaría insertar una relación de aspecto en la columna. E inserte esta columna en un ListView. ¿Es posible? Quiero crear un porcentaje con menos información al respecto.

  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: EdgeInsets.only(
        left: 28,
        right: 28,
        bottom: 8,
        top: 8,
      ),
      child: Container(
        height: heightElement,
        decoration: BoxDecoration(
          color: Colors.white,
          borderRadius: BorderRadius.all(Radius.circular(16)),
          boxShadow: [
            BoxShadow(
              color: SVConst.circularItemsColors[index].withOpacity(0.5),
              spreadRadius: 5,
              blurRadius: 7,
              offset: Offset(0, 3), // changes position of shadow
            ),
          ],
        ),
        child: Column(
          children: [
            Container(
              height: 0.7 * heightElement,
              child: Expanded(
                child: AspectRatio(
                  aspectRatio: 1.3,
                  child: Center(
                    child: CircularPercentIndicator(
                      backgroundColor: Colors.white,
                      radius: 120.0,
                      lineWidth: 13.0,
                      percent: (double.parse(percentuage) / 100),
                      center: Text(
                        percentuage + "%",
                        style: TextStyle(
                            fontWeight: FontWeight.bold, fontSize: 20.0),
                      ),
                      footer: Container(
                        child: AutoSizeText(
                          nameItem,
                          style: TextStyle(
                              color: SVConst.circularItemsColors[index],
                              fontWeight: FontWeight.bold,
                              fontSize: 17.0),
                        ),
                      ),
                      circularStrokeCap: CircularStrokeCap.round,
                      progressColor: SVConst.circularItemsColors[index],
                    ),
                  ),
                ),
              ),
            ),
          ],
        ),
      ),
    );
  }

pero arroja una excepción. Intento insertar un AspectRatio en un contenedor con un 70 % de altura respecto al padre, pero no funciona.

¿Tiene alguna sugerencia para mí? ¿Puedes ayudarme por favor?

eliminar su widget ampliado

-CoderUni

27/03/2021 a las 14:26



------------------------------------

Se supone que el widget expandido tiene como padres una Fila, una Columna o un Flex. De ahí la excepción.

Elimine el widget ampliado de AspectRatio.



------------------------------------

   height: 0.7 * heightElement,

Esto está mal, debes eliminar la barra de aplicaciones y la altura de la barra de estado para poder obtener el 0,7 por ciento exacto.

Ahora puedes usar 0,6 ya que podemos considerar que el tamaño de la barra de aplicaciones y de la barra de estado puede consumir 0,1.

Entonces tu código debería ser,

   height: 0.6 * heightElement,

Su guía para un futuro mejor - libreflare
Su guía para un futuro mejor - libreflare