Метод subtract
Метод subtract класса BorderRadius
уменьшает каждый угол на радиус из второго скругления.
Если вычитать больше, чем было, угол становится прямым.
Синтаксис
BorderRadius.circular(24).subtract(BorderRadius.circular(8))
Параметры
| Параметр | Описание |
|---|---|
other |
Сколько радиуса снять с каждого угла. |
Пример
Давайте снимем 8 с радиуса 24:
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.circular(24).subtract(BorderRadius.circular(8)),
),
child: Text('abcde'),
)
),
),
),
);
}
На экране синяя карточка со скруглением 16.
Пример
Давайте снимем радиус целиком, углы станут прямыми:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Container(
padding: EdgeInsets.all(16),
decoration: BoxDecoration(
color: Color(0xFF2E7D32),
borderRadius: BorderRadius.circular(12).subtract(BorderRadius.circular(12)),
),
child: Text('12345'),
)
),
),
),
);
}
На экране зелёная карточка с прямыми углами.
Смотрите также
-
метод
all,
который ставит один радиус на все четыре угла -
метод
only,
который скругляет только названные углы -
метод
horizontal,
который задаёт радиус отдельно левым и правым углам -
класс
BoxDecoration,
который рисует скругление в поле borderRadius