5 votes

Rayon de bordure du conteneur à l'intérieur de la carte

Lorsque j'essaie de définir le rayon de la bordure des deux coins supérieurs de mon conteneur qui est imbriqué dans une carte, tout le contenu du conteneur disparaît. Voici mon code, si vous décommentez la ligne commentée, tout le contenu du conteneur disparaîtra.

Widget build(BuildContext context) {
    return Card(
      shape: RoundedRectangleBorder(
        borderRadius: BorderRadius.circular(5.0),
      ),
      margin: new EdgeInsets.symmetric(horizontal: 10.0, vertical: 6.0),
      child: Container(
        decoration: BoxDecoration(
          border: new Border(
              top: BorderSide(
            color: Theme.of(context).primaryColor,
            width: 3.0,
          )),
          //borderRadius: BorderRadius.only(topLeft: const Radius.circular(5.0)),
        ),
        child: makeListTile(widget.flight),
      ),
    );

}

17voto

Ali mohammadi Points 328

Il suffit d'ajouter

clipBehavior: Clip.antiAlias

A la carte

5voto

maheshmnj Points 334
      Card(
        shape: RoundedRectangleBorder(
          borderRadius: BorderRadius.circular(20.0),
        ),
        margin: new EdgeInsets.symmetric(horizontal: 10.0, vertical: 6.0),
        child: Container(
          decoration: BoxDecoration(
            border: new Border(
                top: BorderSide(
              color: Theme.of(context).primaryColor,
              width: 3.0,
            )),
            borderRadius: BorderRadius.only(topLeft: const Radius.circular(20.0)),
            color: Colors.red,
          ),
          height: 100,
          width: 100,
        ),
      )

J'ai essayé votre code, il fonctionne bien, c'est seulement que le coin est caché à cause du coin de la carte. Vous avez spécifié le même rayon pour le conteneur et la carte, j'ai juste ajouté une largeur et une hauteur au conteneur et augmenté le rayon circulaire pour rendre le changement visible,

enter image description here

Je ne sais pas pourquoi vous utilisez le conteneur à l'intérieur d'une carte si vous voulez une carte avec seulement le coin supérieur gauche circulaire alors vous pouvez le faire par le code ci-dessous, je vous recommande de regarder à les moyens de créer des cartes dans flutter

SizedBox.expand(
          child: Card(
          shape: RoundedRectangleBorder(
              borderRadius: BorderRadius.only(topLeft: Radius.circular(20)),
              side: BorderSide(width: 2.5, color: Colors.black)),
               margin: EdgeInsets.all(10),
        ),
        )

enter image description here

si vous avez des questions, n'hésitez pas à commenter

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