web-dev-qa-db-fra.com

Comment puis-je avoir du texte cliquable dans l'AppBar dans Flutter

Je suis conscient que je peux utiliser IconButton dans les actions de l'AppBar dans Flutter. Mais au lieu de l'icône, j'aimerais que l'utilisateur voit les mots "Enregistrer" ou "Retour" ou "Annuler" et cliquez dessus dans l'AppBar. Comment puis-je atteindre cet objectif? Voici une partie de mon code qui montre l'AppBar. Au lieu de l'icône d'enregistrement, j'aimerais utiliser "Enregistrer"

return Scaffold(
    appBar: AppBar(
      leading: IconButton(icon: Icon(Icons.arrow_back),
      tooltip: "Cancel and Return to List",
      onPressed: () {
        Navigator.pop(context, true);
      },
    ),
      automaticallyImplyLeading: false,
      title: Text(title),
      actions: <Widget>[

        IconButton(
          icon: Icon(Icons.save),
          tooltip: "Save Todo and Retrun to List",
          onPressed: () {
            save();
          },
        )
      ],
    ),//AppBar
8
Roya

Vous pouvez utiliser FlatButton dans une liste AppBar de actions:

appBar: AppBar(
  title: Text("Test Screen"),
  actions: <Widget>[
    FlatButton(
      textColor: Colors.white,
      onPressed: () {},
      child: Text("Save"),
      shape: CircleBorder(side: BorderSide(color: Colors.transparent)),
    ),
  ],
),

onPressed doit être défini sinon le bouton apparaîtra désactivé. Notez également que par défaut, la forme du bouton créera un rectangle plein pour l'effet InkWell. En définissant la propriété shape sur CircleBorder, nous obtenons un effet plus agréable pour l'état pressé.

Par exemple.

Pas pressé:

Pressé:

1
Sandy Chapman

Vous pouvez encapsuler votre Text dans un GestureDetector et utiliser sa propriété onTap pour gérer vos événements.

Exemple

actions: <Widget>[
  GestureDetector(child: Text("Save"), onTap: save)
],
0
CopsOnRoad