web-dev-qa-db-fra.com

Flutter: Comment faites-vous une carte cliquable?

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?

5
Jus10

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(...),
);
16
Rémi Rousselet

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(), );

1
maheshmnj

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,
    ),
  ),
),
1
Jossef Harush