Метод copyWith
Метод copyWith класса
TextStyle возвращает копию стиля. В параметры передают только те поля,
которые нужно заменить; остальные берутся из исходного объекта.
Синтаксис
style.copyWith(
color: Colors.red,
fontSize: 20,
)
Параметры
| Параметр | Описание |
|---|---|
color |
Цвет Color.
|
fontSize |
Новый размер шрифта в логических пикселях. |
fontWeight |
Новая толщина. Принимает
FontWeight.
|
fontStyle |
Наклон. Принимает
FontStyle.
|
decoration |
Линии у текста. Принимает
TextDecoration.
|
Пример
Давайте сменим только цвет базового стиля:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Text(
'abcde',
style: TextStyle(
fontSize: 16,
color: Colors.black,
).copyWith(color: Colors.green),
),
),
),
),
);
}
На экране строка 'abcde' будет зелёной,
размер останется как у исходного стиля.
Пример
Давайте увеличим размер, не трогая жирность:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Text(
'12345',
style: TextStyle(
fontWeight: FontWeight.bold,
).copyWith(fontSize: 24),
),
),
),
),
);
}
На экране текст '12345' будет крупным и жирным.