95 votes

SDK Flutter de forme de carte personnalisée

Je viens de commencer à apprendre Flutter et j'ai développé une application avec GridView. Les éléments GridView sont des cartes. La forme de carte par défaut est Rectangle avec un rayon de 4.

Je sais qu'il existe une propriété de forme pour Card Widget et il prend la classe ShapeBorder. Mais je n'arrive pas à trouver comment utiliser la classe ShapeBorder et personnaliser mes cartes dans GridView.

Merci d'avance.

201voto

aziza Points 11732

Vous pouvez l'utiliser de cette façon

entrez la description de l'image ici

 Card(
  shape: RoundedRectangleBorder(
    borderRadius: BorderRadius.circular(15.0),
  ),
  child: Text(
    'Card with circular border',
    textScaleFactor: 1.2,
  ),
),
Card(
  shape: BeveledRectangleBorder(
    borderRadius: BorderRadius.circular(10.0),
  ),
  child: Text(
    'Card with Beveled border',
    textScaleFactor: 1.2,
  ),
),
Card(
  shape: StadiumBorder(
  side: BorderSide(
    color: Colors.black,
    width: 2.0,
  ),
),
  child: Text(
    'Card with Beveled border',
    textScaleFactor: 1.2,
  ),
),
 

59voto

Lorsque Card, j'utilise toujours RoundedRectangleBorder.

 Card(
  color: Colors.grey[900],
  shape: RoundedRectangleBorder(
    side: BorderSide(color: Colors.white70, width: 1),
    borderRadius: BorderRadius.circular(10),
  ),
  margin: EdgeInsets.all(20.0),
  child: Container(
    child: Column(
        children: <Widget>[
        ListTile(
            title: Text(
            'example',
            style: TextStyle(fontSize: 18, color: Colors.white),
            ),
        ),
        ],
    ),
  ),
),
 

18voto

user2234013 Points 1

Vous pouvez également personnaliser le thème de la carte globalement avec ThemeData.cardTheme :

 MaterialApp(
  title: 'savvy',
  theme: ThemeData(
    cardTheme: CardTheme(
      shape: RoundedRectangleBorder(
        borderRadius: const BorderRadius.all(
          Radius.circular(8.0),
        ),
      ),
    ),
    // ...
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X