material-designflutter

Flutter: How do you make a card clickable?


I just have a simple Card like new Card(child: new Text('My cool card')) and I want to be able to click anywhere on it to run some function, except there's no onPressed method for a Card. I could add a button to the bottom, but that's not ideal for this situation.

Anyone know how to make the whole card clickable?


Solution

  • Flutter use composition over properties. Wrap the desired widget into a clickable one to achieve what you need.

    Some clickable widgets : GestureDetector, InkWell, InkResponse.

    GestureDetector(
      onTap: () => ......,
      child: Card(...),
    );