Estoy tratando de centrar el texto del título en una barra de aplicaciones que tiene acciones iniciales y finales.
@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.
);
}
Esto funciona bien, excepto que el título está alineado a la izquierda como se muestra en esta imagen:
Cuando trato de incluir el título en el centro, parece que está demasiado a la izquierda:
@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.
);
}
Me encantaría una solución para centrar el texto del título perfectamente entre los 2 iconos.
Tuve el mismo problema y finalmente funcionó cuando agregué
mainAxisSize: MainAxisSize.min a mi widget Row. ¡Espero que esto ayude!
fuente
En mi caso, quería tener un logo / imagen centrado en lugar de un texto. En este caso,
centerTitle
no es suficiente (no estoy seguro de por qué, tengo un archivo svg, tal vez esa sea la razón ...), por ejemplo, esto:no centrará realmente la imagen (además, la imagen puede ser demasiado grande, etc.). Lo que me funciona bien es un código como este:
fuente
Así es como hago centerTitle en mi barra de aplicaciones:
fuente
Después de probar muchas soluciones, esto me ayudó a
centerTitle: true
agregar un código de muestra además de la respuesta de @Collin JacksonEjemplo en
build(BuildContext context)
hacer esto
fuente
Aquí hay un enfoque diferente si desea crear un título de barra de aplicación personalizado. Por ejemplo, desea una imagen y un texto en el centro de la barra de la aplicación y luego agregue
Aquí hemos creado un
Row
conMainAxisAlignment.center
para centrar a los niños. Luego, hemos agregado dos hijos: un icono y otroContainer
con texto. Envolví elText
widget en elContainer
para agregar el relleno necesario.fuente
fuente
Esto puede ayudar a crear el texto del título de la barra de aplicaciones en el centro. Puede elegir agregar los estilos que desee usando Estilo o comentarlo si no es necesario.
En la pantalla de la aplicación:
fuente
Puede centrar el título de una barra de aplicaciones mediante el parámetro centerTitle .
centerTitle es un tipo de datos booleano y el valor predeterminado es Falso.
centerTitle : verdadero
Ejemplo:
fuente
appbar: AppBar (centerTitle: true, title: Text ("HOLA"))
fuente
Usar
Center
objetofuente
fuente