Как BorderRadius.circular (radius) работает как параметр для RoundedRectangleBorder Flutter? - PullRequest
0 голосов
/ 12 октября 2019

В документах просто указывается

RoundedRectangleBorder

Прямоугольная граница со скругленными углами.
Обычно используется с ShapeDecoration для рисования прямоугольника со скругленным прямоугольником.
Этоshape может интерполироваться в и из CircleBorder.

BorderRadius.circular

Создает радиус границы, где все радиусы [Radius.circular (radius)].

Что это значит? Если моя кнопка имеет 50 логических пикселей (радиус 25), и я установил радиус на 20, должен ли он затем обрезать углы за пределами радиуса 20 логических пикселей? Если я установлю его на 30, вся кнопка будет в круговом радиусе, поэтому ничего не должно быть обрезано. Это не тот случай.

Все> = 30, кажется, обрезает углы до дуги 45 градусов, в результате чего на каждой короткой стороне кнопки получается полный полукруг.

Может кто-нибудь объяснитьэто значение и как его использовать?

1 Ответ

1 голос
/ 15 октября 2019

Радиус говорит вам, насколько далеко от угла создана дуга. Поэтому, если вы хотите слегка закругленные углы, вы должны использовать меньшее значение. DecoratedBox 80pt x 30pt может иметь радиус 7pt. Круг, радиус которого простирается от верхней и соседней сторон на 7 пунктов. Если вы применили круговой радиус, который был больше, чем самая короткая доступная сторона, где вы попадаете в полукруг. Для этого радиус 15pt и больше создаст этот эффект.

Если вы ищете поле, которое может частично определить его закругленные углы, вы можете легко создать класс, который обернет DecoratedBox внутри LayoutBuilder, чтобы выяснить самую короткую сторону и определить дробный радиус на основеот этой длины.

...