J'essaie de centrer le texte du titre dans une barre d'application qui a à la fois des actions de début et de fin.
@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.
);
}
Cela fonctionne bien sauf que le titre est aligné à gauche comme le montre cette image:
Alors que j'essaie d'inclure le titre au centre, il semble qu'il soit trop à gauche:
@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.
);
}
J'aimerais une solution pour que le texte du titre soit parfaitement centré entre les 2 icônes.
J'ai eu le même problème et cela a finalement fonctionné lorsque j'ai ajouté le
mainAxisSize: MainAxisSize.min à mon widget Row. J'espère que ça aide!
la source
Dans mon cas, je voulais avoir un logo / image centré au lieu d'un texte. Dans ce cas, ce
centerTitle
n'est pas suffisant (je ne sais pas pourquoi, j'ai un fichier svg, c'est peut-être la raison ...), donc par exemple, ceci:ne centrera pas vraiment l'image (plus l'image peut être trop grande, etc.). Ce qui fonctionne bien pour moi, c'est un code comme celui-ci:
la source
Voici comment créer centerTitle sur ma barre d'applications:
la source
Après avoir essayé de nombreuses solutions, cela m'a aidé à
centerTitle: true
ajouter un exemple de code en plus de la réponse @Collin JacksonExemple en
build(BuildContext context)
fais ça
la source
Voici une approche différente si vous souhaitez créer un titre de barre d'application personnalisé. Par exemple, vous voulez une image et un texte au centre de la barre d'application, puis ajoutez
Ici, nous avons créé un
Row
avecMainAxisAlignment.center
pour centrer les enfants. Ensuite, nous avons ajouté deux enfants - une icône et uneContainer
avec du texte. J'ai enveloppé leText
widget dans leContainer
pour ajouter le rembourrage nécessaire.la source
la source
Cela peut aider à créer le texte du titre de la barre d'applications dans le centre. Vous pouvez choisir d'ajouter les styles souhaités à l'aide de Style ou de les commenter si cela n'est pas nécessaire.
Sur l'affichage de l'application:
la source
Vous pouvez centrer le titre d'une appBar à l'aide de centerTitle paramètre.
centerTitle est un type de données booléen et la valeur par défaut est False.
centerTitle : vrai
Exemple :
la source
appbar: AppBar (centerTitle: true, title: Text ("HELLO"))
la source
Utiliser un
Center
objetla source
la source