Comment puis-je réduire l'espacement entre les boutons?
Vous pouvez voir que quatre boutons sur la barre d'applications prennent tellement d'espace, j'ai essayé les lignes. mais pas fonctionné
AppBar( backgroundColor: Colors.deepOrange, iconTheme: new IconThemeData(color: Colors.white), title: Text( titleString, style: TextStyle(color: Colors.white), ), actions: <Widget>[ IconButton( icon: Icon( Icons.search, color: Colors.white, ), //iconSize: 20, onPressed: null, ), IconButton( icon: Icon( Icons.notifications_none, color: Colors.white, ), // iconSize: 20, onPressed: null, ), //Add more icon here ], );
3 Réponses :
Le problème vient du widget IconButton
. par défaut, IconButton
a une taille de 48x48 pixels et vous pouvez en savoir plus sur le réponse principale à cette question .
Une solution de contournement serait d'utiliser le widget GestureDetector
pour gérer votre méthode onPressed ()
. Voici un exemple.
actions: <Widget>[ GestureDetector( onTap: (){ //your code }, child: Icon(Icons.search) ), GestureDetector( onTap: (){}, child: Icon(Icons.notifications) ) //Add more icon here ],
Essayez d'utiliser sizedbox
Padding(
padding: const EdgeInsets.all(5.0),
child: SizedBox.fromSize(
size: Size(25, 20), // button width and height
child: InkWell(
splashColor: Colors.white, // splash color
onTap: () {}, // button pressed
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Icon(Icons.search), // icon
],
),
),
),
),
Vous pouvez utiliser les arguments VisualDensity et padding ensemble pour réduire les choses:
actions: <Widget>[ IconButton( visualDensity: VisualDensity(horizontal: -4.0, vertical: -4.0), padding: EdgeInsets.zero, icon: Icon( Icons.search, color: Colors.white, ), //iconSize: 20, onPressed: null, ), //Add more icon here ],
Cela a fonctionné au moins dans mon application. J'espère que c'est utile!
Pouvez-vous décrire comment vous avez essayé de le faire avec Row?
Ajout de toutes les icônes dans la ligne et définition de la taille de l'axe au minimum ... mais ne fonctionne pas