40 votes

Comment faire un côté bord circulaire de widget avec flotter ?

J'essaie de construire une bordure circulaire latérale avec le widget Container en flutter. Je l'ai cherché mais je ne trouve pas de solution.

Container(
  width: 150.0,
  padding: const EdgeInsets.all(20.0),
  decoration: BoxDecoration(
    // borderRadius: BorderRadius.circular(30.0),
    /* border: Border(
      left: BorderSide()
    ),*/
  color: Colors.white
  ),
  child: Text("hello"),
),

87voto

Arun R. Prajapati Points 101

Utilisez BorderRadius.only et fournissez les côtés

return Center(
  child: Container(
    height: 100,
    width: 100,
    decoration: BoxDecoration(
      borderRadius: BorderRadius.only(
        topRight: Radius.circular(40),
      ),
      border: Border.all(
        width: 3,
        color: Colors.green,
        style: BorderStyle.solid,
      ),
    ),
    child: Center(
      child: Text(
        "Hello",
      ),
    ),
  ),
);

Sortie

enter image description here

13voto

Jay Mungara Points 2397

Vous pouvez y parvenir en suivant le code de création de votre widget :

return Container(
  width: 150.0,
  padding: const EdgeInsets.all(20.0),
  decoration: BoxDecoration(
    shape: BoxShape.rectangle,
    color: Colors.white,
    borderRadius: BorderRadius.only(
      topLeft: Radius.circular(20.0),
      topRight: Radius.zero,
      bottomLeft: Radius.zero,
      bottomRight: Radius.zero,
    ),
  ),
  child: Text(
    "hello",
  ),
);

De cette façon, vous pouvez avoir votre bordure circulaire supérieure gauche avec le widget Container en flutter.

6voto

Max Macfarlane Points 516

Si vous voulez arrondir un côté d'un conteneur, vous devez utiliser BorderRadius.only et spécifier les coins à arrondir comme ceci :

Container(
          width: 150.0,
          padding: const EdgeInsets.all(20.0),
          decoration: BoxDecoration(
              borderRadius: BorderRadius.only(
                  topRight: Radius.circular(40.0),
                  bottomRight: Radius.circular(40.0)),
              color: Colors.white),
          child: Text("hello"),
        ),

4voto

Ashraful Points 736

Une autre façon de le faire est d'utiliser le widget ClipRRect. Il suffit d'envelopper votre widget avec ClipRRect et de donner un rayon. Vous pouvez spécifier le coin que vous souhaitez arrondir.

ClipRRect(
      borderRadius: BorderRadius.only(topRight: Radius.circular(10)),
      child: Container(
        height: 40,
        width: 40,
        color: Colors.amber,
        child: Text('Hello World!'),
      ),
    );

2voto

gsm Points 87

peut également faire ce qui suit,

 borderRadius: new BorderRadius.only(
     topLeft: const Radius.circular(30.0),
     bottomLeft: const Radius.circular(30.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