Метод copyWith
Метод copyWith класса ShapeDecoration возвращает ShapeDecoration с подменой полей.
Можно заменить цвет, градиент или фигуру.
Поле, которое не передали, остаётся прежним.
Синтаксис
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'),
),
),
),
),
),
);
}
На экране фиолетовая рамка.
Смотрите также
-
класс
BoxDecoration,
фон, рамка, тень и скругление -
класс
AlignmentDirectional,
точка с учетом направления письма -
класс
Border,
четыре стороны рамки -
класс
BorderSide,
одна сторона рамки