Метод fromRectAndRadius
Метод fromRectAndRadius класса RRect
берёт прямоугольник и один радиус.
Этот радиус получает каждый из четырёх углов.
Синтаксис
RRect.fromRectAndRadius(rect, Radius.circular(12))
Параметры
| Параметр | Описание |
|---|---|
rect |
Прямоугольник, который скругляют. |
radius |
Радиус в логических пикселях. |
Пример
Давайте скруглим прямоугольник 100 на 60 радиусом 12:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Builder(
builder: (context)
{
RRect rect = RRect.fromRectAndRadius(Rect.fromLTWH(0, 0, 100, 60), Radius.circular(12));
return Text(rect.left.toStringAsFixed(0) + ' ' + rect.top.toStringAsFixed(0) + ' ' + rect.width.toStringAsFixed(0) + ' ' + rect.height.toStringAsFixed(0));
},
),
),
),
),
);
}
На экране 0 0 100 60. Края те же, скругление сидит на углах и размер не меняет.
Пример
Давайте скруглим квадрат 40 радиусом 20, углы станут полукругами:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Builder(
builder: (context)
{
RRect rect = RRect.fromRectAndRadius(Rect.fromLTWH(5, 5, 40, 40), Radius.circular(20));
return Text(rect.left.toStringAsFixed(0) + ' ' + rect.top.toStringAsFixed(0) + ' ' + rect.width.toStringAsFixed(0) + ' ' + rect.height.toStringAsFixed(0));
},
),
),
),
),
);
}
На экране 5 5 40 40. Радиус равен половине стороны, поэтому углы съедают прямые торцы.