Метод lerp
Метод lerp класса BorderRadius
смешивает радиус каждого угла.
Доля 0 оставляет первое скругление, доля 1 второе.
Синтаксис
BorderRadius.lerp(BorderRadius.circular(0), BorderRadius.circular(32), 0.5)
Параметры
| Параметр | Описание |
|---|---|
a |
Первое скругление. |
b |
Второе скругление. |
t |
Доля смешивания от 0 до 1.
|
Пример
Давайте возьмём середину между прямым углом и радиусом 32:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Container(
padding: EdgeInsets.all(16),
decoration: BoxDecoration(
color: Color(0xFF1565C0),
borderRadius: BorderRadius.lerp(
BorderRadius.circular(0),
BorderRadius.circular(32),
0.5,
),
),
child: Text('abcde'),
)
),
),
),
);
}
На экране синяя карточка со средним скруглением, около 16.
Пример
Давайте дойдём до радиуса 32:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Container(
padding: EdgeInsets.all(16),
decoration: BoxDecoration(
color: Color(0xFF1565C0),
borderRadius: BorderRadius.lerp(
BorderRadius.circular(0),
BorderRadius.circular(32),
1,
),
),
child: Text('12345'),
)
),
),
),
);
}
На экране карточка с полным радиусом 32.
Смотрите также
-
метод
all,
который ставит один радиус на все четыре угла -
метод
only,
который скругляет только названные углы -
метод
horizontal,
который задаёт радиус отдельно левым и правым углам -
класс
BoxDecoration,
который рисует скругление в поле borderRadius