J'ai juste une carte simple comme new Card(child: new Text('My cool card'))
et je veux pouvoir cliquer n'importe où dessus pour exécuter une fonction, sauf qu'il n'y a pas de méthode onPressed
pour une carte. Je pourrais ajouter un bouton en bas, mais ce n'est pas idéal pour cette situation.
Quelqu'un sait comment rendre la carte complète cliquable?
Flutter utiliser la composition sur les propriétés. Enveloppez le widget souhaité dans un clic pour obtenir ce dont vous avez besoin.
Quelques widgets cliquables: GestureDetector
, InkWell
, InkResponse
.
new GestureDetector(
onTap: ...,
child: new Card(...),
);
Je pense que vous pouvez également utiliser InkWell en enveloppant simplement la carte dans le widget InkWell()
InkWell(
onTap: (){ print("Card Clicked"); }
child: new Card(),
);
Flutter fournit le InkWell Widget. en enregistrant un rappel, vous pouvez décider de ce qui se passera lorsque l'utilisateur cliquera sur la carte (appelé tap in flutter). InkWell implémente également un effet d'entraînement de Material Design
Card(
child: new InkWell(
onTap: () {
print("tapped");
},
child: Container(
width: 100.0,
height: 100.0,
),
),
),