Flutter alignment issue

sagar acharya :

I am trying to make an alignment for text and images in the row but getting it in a wrong way below is the code that i have added i am getting confused about thisalignments.

Widget containerWidget(String icon, String icontext, String text) {
  return Container(
      padding: EdgeInsets.all(7),
      decoration: BoxDecoration(
          border: Border.all(
            color: Colors.grey,
          ),
          borderRadius: BorderRadius.circular(40.0)),
      child: Row(
        mainAxisAlignment: MainAxisAlignment.spaceAround,
        children: <Widget>[
          Row(
            mainAxisAlignment: MainAxisAlignment.start,
            children: <Widget>[
              Padding(
                padding: const EdgeInsets.only(left: 5, bottom: 2),
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.start,
                  children: <Widget>[
                    SvgPicture.asset(
                      icon,
                      height: 20.0,
                      width: 20.0,
                      allowDrawingOutsideViewBox: true,
                    ),
                    Padding(
                      padding: const EdgeInsets.only(top: 5, left: 10),

                      child: Text(
                        icontext,
                        style: TextStyle(color: const Color(0xFF449DF9)),
                      ),
                    )
                  ],
                ),
              ),
            ],
          ),
          Row(
            children: <Widget>[
              Text(text),
            ],
          )
        ],
      ));
}

I am gettin the output as following : enter image description here

And i want the following output but somehow cannot get it. enter image description here

Sebastian :

You should wrap your Rows inside Expanded and remove your alignment mainAxisAlignment: MainAxisAlignment.start

Like this

Widget containerWidget(String icon, String icontext, String text) {
  return Container(
    padding: EdgeInsets.all(7),
    decoration: BoxDecoration(
      border: Border.all(
        color: Colors.grey,
      ),
      borderRadius: BorderRadius.circular(40.0),
    ),
    child: Row(
      children: <Widget>[
        Expanded(
          child: Row(
            mainAxisAlignment: MainAxisAlignment.start,
            children: <Widget>[
              Padding(
                padding: const EdgeInsets.only(left: 5, bottom: 2),
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.start,
                  children: <Widget>[
                   SvgPicture.asset(
                    icon,
                     height: 20.0,
                     width: 20.0,
                     allowDrawingOutsideViewBox: true,
                    ),
                    Padding(
                      padding: const EdgeInsets.only(top: 5, left: 10),
                      child: Text(
                        icontext,
                        style: TextStyle(color: const Color(0xFF449DF9)),
                      ),
                    )
                  ],
                ),
              ),
            ],
          ),
        ),
        Expanded(
          child: Row(
            children: <Widget>[
              Text(text),
            ],
          ),
        ),
      ],
    ),
  );
}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=342647&siteId=1