Класс BorderRadius
Класс BorderRadius хранит радиус каждого угла.
Одинаковое скругление даёт метод circular.
Радиус одного угла это Radius.
Объект передают в borderRadius у BoxDecoration.
Синтаксис
BorderRadius.circular(12)
Методы
| Метод | Описание |
|---|---|
add |
Складывает радиусы двух скруглений угол к углу. |
all |
Ставит один и тот же радиус на все четыре угла. |
circular |
Задаёт одинаковый радиус скругления всех углов. |
copyWith |
Меняет радиусы выбранных углов. |
horizontal |
Задаёт один радиус левым углам и другой правым. |
lerp |
Плавно меняет скругление между двумя BorderRadius.
|
only |
Скругляет только названные углы. Остальные остаются прямыми. |
resolve |
Переводит BorderRadiusDirectional в BorderRadius.
|
subtract |
Вычитает радиусы второго скругления из первого. |
vertical |
Задаёт один радиус верхним углам и другой нижним. |
Пример
Давайте оформим Container:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Container(
width: 160,
height: 80,
decoration: BoxDecoration(color: Colors.white, border: Border.all(color: Colors.teal, width: 2), borderRadius: BorderRadius.circular(8), boxShadow: [BoxShadow(offset: Offset(2, 2), blurRadius: 4)]),
),
),
),
),
);
}
На экране блок с рамкой, скруглением и тенью.
Пример
Давайте усилим тень:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Container(
width: 160,
height: 80,
decoration: BoxDecoration(color: Colors.grey.shade100, boxShadow: [BoxShadow(color: Colors.black26, blurRadius: 10, offset: Offset(4, 4))]),
),
),
),
),
);
}
На экране более заметная тень.
Смотрите также
-
класс
BorderSide,
одна сторона рамки -
класс
Border,
четыре стороны рамки -
класс
Radius,
радиус одного угла -
класс
RoundedRectangleBorder,
скругленный прямоугольник для кнопки и карточки