Поместите значок в нижней правой части контейнера.

У меня есть виджет для создания круглого контейнера. Я хочу разместить значок справа внизу, поэтому я попытался использовать Positioned, чтобы разместить его там, где я хочу, но он не перемещается. Он закреплен по центру контейнера.

      
Widget buildImage() {
    return Center(
      child: Container(
        child: Material(
          child: InkWell(
            customBorder:  CircleBorder(),
            onTap: (){},
            child: Container(
              width: 150.0,
              height: 150.0,
              child:  Positioned(
                bottom: 4,
                right: 0,
                child: Icon (Icons.account_circle_rounded),
              ),
            ),
          ),
          color: Colors.transparent,
        ),
        decoration:  BoxDecoration(
          color: Colors.orange,
          shape: BoxShape.circle,
        ),
      ),

    );
  }

Что я здесь делаю неправильно?

Ваши ответы высоко ценятся.

1 ответ

Positioned используется только в виджете Stack. Поэтому, если вы хотите разместить значок внутри контейнера, вы можете использовать виджет Align, withPadding который создаст желаемое поведение, указанное ранее в Positioned. Ну вот как то так:

      ...    
Container(
                  width: 150.0,
                  height: 150.0,
                  child: Align(
                    alignment: Alignment.bottomRight,
                    child: Padding(
                      padding: const EdgeInsets.only(right: 4.0),
                      child: Icon(
                        Icons.account_circle_rounded,
                      ),
                    ),
                  ),
                ),
...
Другие вопросы по тегам