Метод copyWith
Метод copyWith класса BorderSide возвращает BorderSide с новыми полями, не затронув остальные.
Можно заменить цвет, толщину или стиль линии.
Поле, которое не передали, копируется из исходной стороны.
Синтаксис
value.copyWith(/* поля */)
Параметры
| Параметр | Описание |
|---|---|
… |
Новые поля; непереданные остаются прежними. |
Пример
Давайте изменим поля через copyWith:
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.grey), borderRadius: BorderRadius.circular(8)),
child: const Center(
child: Text('abcde'),
),
),
),
),
),
);
}
На экране блок с рамкой.
Пример
Давайте зададим другой цвет рамки:
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.deepPurple, width: 3)),
child: const Center(
child: Text('abcde'),
),
),
),
),
),
);
}
На экране фиолетовая рамка.
Смотрите также
-
класс
Border,
четыре стороны рамки -
класс
ShapeDecoration,
фон произвольной формы -
класс
BorderRadius,
скругление углов -
класс
Radius,
радиус одного угла