Estou tentando centralizar o texto do título em uma barra de aplicativos que tem ações iniciais e finais.
@override
Widget build(BuildContext context) {
final menuButton = new PopupMenuButton<int>(
onSelected: (int i) {},
itemBuilder: (BuildContext ctx) {},
child: new Icon(
Icons.dashboard,
),
);
return new Scaffold(
appBar: new AppBar(
// Here we take the value from the MyHomePage object that
// was created by the App.build method, and use it to set
// our appbar title.
title: new Text(widget.title, textAlign: TextAlign.center),
leading: new IconButton(
icon: new Icon(Icons.accessibility),
onPressed: () {},
),
actions: [
menuButton,
],
),
body: new Center(
child: new Text(
'Button tapped $_counter time${ _counter == 1 ? '' : 's' }.',
),
),
floatingActionButton: new FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: new Icon(Icons.add),
), // This trailing comma makes auto-formatting nicer for build methods.
);
}
Isso funciona bem, exceto que o título está alinhado à esquerda, conforme mostrado nesta imagem:
Quando tento incluir o título no centro, parece que está muito à esquerda:
@override
Widget build(BuildContext context) {
final menuButton = new PopupMenuButton<int>(
onSelected: (int i) {},
itemBuilder: (BuildContext ctx) {},
child: new Icon(
Icons.dashboard,
),
);
return new Scaffold(
appBar: new AppBar(
// Here we take the value from the MyHomePage object that
// was created by the App.build method, and use it to set
// our appbar title.
title: new Center(child: new Text(widget.title, textAlign: TextAlign.center)),
leading: new IconButton(
icon: new Icon(Icons.accessibility),
onPressed: () {},
),
actions: [
menuButton,
],
),
body: new Center(
child: new Text(
'Button tapped $_counter time${ _counter == 1 ? '' : 's' }.',
),
),
floatingActionButton: new FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: new Icon(Icons.add),
), // This trailing comma makes auto-formatting nicer for build methods.
);
}
Eu adoraria uma solução para centralizar perfeitamente o texto do título entre os 2 ícones.
Eu tive o mesmo problema e finalmente funcionou quando adicionei
mainAxisSize: MainAxisSize.min ao meu widget Row. Eu espero que isso ajude!
fonte
No meu caso, eu queria ter um logotipo / imagem centralizado em vez de um texto. Nesse caso,
centerTitle
não é suficiente (não tenho certeza porque, eu tenho um arquivo svg, talvez seja esse o motivo ...), então por exemplo, este:não centralizará realmente a imagem (além disso, a imagem pode ser muito grande, etc.). O que funciona bem para mim é um código como este:
fonte
Aqui está como faço centerTitle na minha barra de aplicativos:
fonte
Depois de tentar muitas soluções, isso me ajudou a
centerTitle: true
adicionar código de amostra, além da resposta de @Collin JacksonExemplo em
build(BuildContext context)
faça isso
fonte
Aqui está uma abordagem diferente se você deseja criar um título de barra de aplicativo personalizado. Por exemplo, você quer uma imagem e um texto no centro da barra do aplicativo e, em seguida, adicione
Aqui criamos um
Row
comMainAxisAlignment.center
para centrar as crianças. Em seguida, adicionamos dois filhos - um ícone e umContainer
com texto. Envolvi oText
widget noContainer
para adicionar o preenchimento necessário.fonte
fonte
Isso pode ajudar a fazer o texto do título da Appbar no Centro. Você pode escolher adicionar seus estilos desejados usando Estilo ou comentá-los se não for necessário.
Na tela do aplicativo:
fonte
Center
Objeto de usofonte
fonte