Метод merge
Метод merge класса
TextStyle возвращает новый стиль, где непустые поля other
заменяют поля текущего объекта. Удобно сочетать базовую тему
и локальные правки.
Синтаксис
baseStyle.merge(otherStyle)
Параметры
| Параметр | Описание |
|---|---|
other |
Второй TextStyle.
Его заданные поля побеждают в результате.
|
Пример
Давайте наложим красный цвет на базовый размер:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Text(
'abcde',
style: TextStyle(fontSize: 18).merge(
TextStyle(color: Colors.red),
),
),
),
),
),
);
}
На экране строка 'abcde' будет красной и крупной.
Пример
Давайте добавим жирность, сохранив синий цвет базы:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: Text(
'12345',
style: TextStyle(
color: Colors.blue,
fontSize: 16,
).merge(
TextStyle(fontWeight: FontWeight.bold),
),
),
),
),
),
);
}
На экране текст '12345' останется синим и станет жирным.
Смотрите также
-
метод
copyWith,
который меняет поля одного стиля -
метод
merge,
который сливает стиль вDefaultTextStyle -
класс
TextStyle,
который описывает оформление символов -
метод
lerp,
который плавно переходит между двумя стилями