Название панели инструментов Flutter не по центру, когда pu sh на странице и когда доступна кнопка действия - PullRequest
0 голосов
/ 29 апреля 2020

Я добавил appbar к своему скаффолду на своей странице флаттера. Все работает отлично, ожидайте, что актив SVG-изображения, используемый для заголовка, не всегда центрируется. Когда я перемещаю sh с другой на страницу моей панели приложений, заголовок с изображением SVG перемещается вправо, а если страница посещается напрямую, она перемещается влево. Я попытался использовать отступы для этого, но все еще то же самое. Вопрос в том, как сделать так, чтобы заголовок прилипал к центру и не влиял на изображение кнопки действий слева и справа. Ниже мой код:

return Scaffold(
      backgroundColor: Colors.white,
      appBar: PreferredSize(
        preferredSize: Size.fromHeight(40.0), // here the desired height
        child: AppBar(
          backgroundColor: colorGreen,
          title:Center(child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Center(
                //padding: const EdgeInsets.only(left: 36.0),
                child: Center(
                  child: SvgPicture.asset(assetName,
                      color: Colors.white,
                      width: 20,
                      height: 20,
                      fit: BoxFit.cover,
                      semanticsLabel: 'Hobber'),
                ),
              ),
            ],
          )),
          actions: <Widget>[
            GestureDetector(
              child: Padding(
                padding: const EdgeInsets.only(right: 12.0),
                child: Icon(
                  Icons.notifications,
                  color: Colors.white,
                ),
              ),
              onTap: () {},
            ),
          ],
        ),
      ),
    body:Container(child:Text("My body message"),)

);

1 Ответ

1 голос
/ 29 апреля 2020

Попробуйте следующее:

  appBar: AppBar(
    centerTitle: true,
  ......

Удаление ненужных виджетов приведет к получению этого результата на панели приложения:

    appBar: PreferredSize(
      preferredSize: Size.fromHeight(40.0), // here the desired height
      child: AppBar(
        centerTitle: true,
        backgroundColor: colorGreen,
        title: SvgPicture.asset(assetName,
            color: Colors.white,
            width: 20,
            height: 20,
            fit: BoxFit.cover,
            semanticsLabel: 'Hobber'),
        actions: <Widget>[
          GestureDetector(
            child: Padding(
              padding: const EdgeInsets.only(right: 12.0),
              child: Icon(
                Icons.notifications,
                color: Colors.white,
              ),
            ),
            onTap: () {},
          ),
        ],
      ),
    ),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...