Аспект радиуса границы флаттера

#flutter #border-radius #flutter-design

Вопрос:

Кто-то знает, как сделать мягкий радиус границы, что-то в этом роде :

введите описание изображения здесь

Возможно ли это вообще с помощью Флаттера, я не могу понять, как это сделать.

Ответ №1:

Вы можете достичь этого, используя borderRadius свойство decoration внутренней части a Container .

Например:

 Column(
  mainAxisAlignment: MainAxisAlignment.spaceAround,
  children: [
     Container(
      height: 200,
      width: 200,
      decoration: BoxDecoration(
        color: Colors.blue,
        borderRadius: BorderRadius.all(Radius.elliptical(20, 10)),
      ),
    ),
    Container(
      height: 200,
      width: 200,
      decoration: BoxDecoration(
        color: Colors.blue,
        borderRadius: BorderRadius.all(Radius.circular(20)),
      ),
    ),
  ],
),
 

даст такой результат

Пример использования декора

с другой стороны, если вы хотите иметь другой цвет для границы, вы можете попробовать это, установив цвет в border свойстве decoration свойства в Container :

 Center(
    child: Column(
      mainAxisAlignment: MainAxisAlignment.spaceAround,
      children: [
        Container(
          height: 200,
          width: 200,
          decoration: BoxDecoration(
            borderRadius: BorderRadius.all(Radius.circular(20)),
            border: Border.all(
              color: Colors.red,
            ),
          ),
          child: Center(
            child: Text('Content...'),
          ),
        ),
      ],
    ),
),
 

в результате этого получается

Пример использования цвета границы

Комментарии:

1. Спасибо, но я нашел то, что мне нужно, с пользовательской вырезкой 🙂

Ответ №2:

Вы можете использовать clipRect.

 ClipRRect(
    // Change border radius and type(.zero, .roundrect, or absolute values) to get your desired effect
    borderRadius: BorderRadius.circular(8.0),
    child: Container(color: Colors.grey),
)
 

Комментарии:

1. Это не производит такого же эффекта. Радиус слишком закруглен по сравнению со снимком экрана.

2. Поиграйте с borderRadius.circular, или roundrect, или нулем, или вы можете указать значения.

3. Спасибо, но я нашел то, что мне нужно, с пользовательской вырезкой 🙂