Flutter - виджет BorderRadius
BorderRadius - это встроенный виджет во флаттере. Его основная функция заключается в добавлении кривой вокруг угла границы виджета. Всего есть пять способов использования этого виджета, первый - с помощью BorderRadius.all, радиус всех углов здесь одинаковый. Второй способ - использовать BorderRadius.Circle, здесь нам нужно указать радиус только один раз, что будет двойным значением. Третий способ - использовать BorderRadius.horizontal, здесь мы можем указать разные границы радиуса для левой и правой стороны. Четвертый способ - использовать только BorderRadius. Он может принимать разные радиусы для всех четырех углов границы. И последний способ - использовать BorderRadius.vertical , который может дать разный радиус верхней и нижней части границы. Реализация всех этих способов показана ниже на примерах.
Конструктор BordeRadius.all :
const BorderRadius.all ( Радиус радиуса )
Конструктор BorderRadius.Circle :
BorderRadius.circular ( двойной радиус )
Конструктор BorderRadius.horizontal :
const BorderRadius.horizontal (
{Радиус слева: Radius.zero,
Радиус справа: Radius.zero}
)
Конструктор BorderRadius.only :
const BorderRadius.only (
{Radius topLeft: Radius.zero,
Радиус topRight: Radius.zero,
Radius bottomLeft: Radius.zero,
Radius bottomRight: Radius.zero}
)
Конструктор BorderRadius.vertical :
const BorderRadius.vertical (
{Верхний радиус: Radius.zero,
Нижний радиус: Radius.zero}
)
Свойства BorderRadius:
- bottomLeft: свойство bottomLeft принимает в качестве объекта класс Radius. Он контролирует радиус нижнего левого угла границы.
// Реализация
конечный радиус снизу влево
- bottomRight: это свойство также содержит Radius как объект, определяющий радиус нижнего правого угла границы.
- topLeft: это свойство также содержит класс Radius как объект, определяющий радиус верхнего левого угла границы.
- topRight: это свойство также содержит класс Radius как объект, определяющий радиус правого верхнего угла границы.
Теперь мы посмотрим, как мы можем добавить border-radius к границе, используя все методы. Граница в приложении ниже создается с помощью виджета Border.all вокруг NetworkImage, который помещается внутри виджета BoxDecoration.

Виджет BorderRadius
Так теперь выглядит наша граница. Давайте посмотрим, как добавить кривую к углам.
Пример 1: BorderRadius.all
Дротик
import 'package:flutter/material.dart' ; void main() { runApp( //Our app widget tree starts herwe MaterialApp( home: Scaffold( appBar: AppBar( title: Text( 'GeeksforGeeks' ), backgroundColor: Colors.greenAccent[400], leading: IconButton( icon: Icon(Icons.menu), tooltip: 'Menu' , onPressed: () {}, ), //IcoButton actions: <Widget>[ IconButton( icon: Icon(Icons.comment), tooltip: 'Comment' , onPressed: () {}, ), //IconButton ], //<Widget>[] ), //AppBar body: Center( child: Padding( padding: const EdgeInsets.all(12.0), child: SizedBox( height: 250, child: Container( decoration: BoxDecoration( image: const DecorationImage( image: NetworkImage( ), border: Border.all( color: const Color(0xFF000000), width: 4.0, style: BorderStyle.solid), //Border.all /*** The BorderRadius widget is here ***/ borderRadius: BorderRadius.all( Radius.circular(10), ), //BorderRadius.all ), //BoxDecoration ), ), ), ), //Center ), //Scaffold debugShowCheckedModeBanner: false , //Debug banner is turned off ), //MaterialApp );} |
Выход:

BorderRadius.all
Объяснение: Кривая вокруг углов границ в приведенном выше приложении была добавлена с помощью BorderRadius.all. B orderRadius.all принимает Radius.circular в качестве объекта, а 10 - это параметр, назначенный ему. И мы видим, что кривая радиусом 10 пикселей была добавлена ко всем углам.
Пример 2: BorderRadius.circle
// Фрагмент кода BorderRadius.Circular
...
borderRadius: BorderRadius.circular (50.0),
...
Выход:

BorderRadius.circular
Объяснение: Приведенный выше фрагмент кода относится к BorderRadius.circular. Он принимает только двойное значение в качестве объекта, чтобы дать равную кривую для всех углов границы. В приведенном выше приложении радиус установлен на 50 пикселей.
Пример 3: BorderRadous.horizontal:
// Сиппет кода BorderRadius.horizontal
...
borderRadius: BorderRadius.horizontal (
слева: Radius.circular (15),
справа: Radius.circular (30),
), //BorderRadius.horizontal
...
Выход:

BorderRadius.horizontal
Объяснение: Здесь BorderRadius.horizontal был использован для добавления границы вокруг углов. Внутри виджета BorderRadius.horizontal свойство left содержит Radius.circular (15), что дает левой стороне границы (т. Е. Верхний левый и нижний -левый) радиус 15 пикселей, а свойство right содержит Radius. .circular (30), что, в свою очередь, дает правой части границы радиус 30 пикселей.
Пример 4: BorderRadus.only
// Кодовая трубка BorderRadius.only
...
borderRadius: BorderRadius.only (
topLeft: Radius.circular (5),
topRight: Radius.circular (10),
bottomLeft: Radius.circular (15),
bottomRight: Radius.circular (20),
), // BorderRadius.Only
...
Выход:

BorderRadius.only
Объяснение: В приведенном выше приложении BorderRadius.only используется для добавления различных кривых вокруг разных углов границ. BorderRadius.only принимает четыре свойства: topLeft , topRight , bottomLeft и bottomRight, чтобы добавить определенный радиус к углам границы. В верхнем левом углу радиус составляет 5 пикселей, в верхнем правом углу - 10 пикселей, в нижнем левом углу радиус границы - 15 пикселей, а в правом нижнем углу - 20 пикселей.
Пример 5: BorderRadius.vertical
// Приемник кода BorderRadius.vertical
...
borderRadius: BorderRadius.vertical (
верх: Radius.circular (10),
внизу: Radius.circular (30),
), // BorderRadius.vertical
...
Выход:

BorderRadius.vertical
Объяснение: BorderRadius.vertical - это виджет, используемый здесь для добавления радиуса границы к углам. Чтобы указать радиус границы для верхней и нижней части границы, требуется верхний и нижний радиус. Здесь радиус границы, добавленный к верхней части, составляет 10 пикселей, а радиус границы, добавленный к нижней части, составляет 30 пикселей.
Чтобы увидеть полный код всех примеров, использованных в этой статье, щелкните здесь.