Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
702 of 1024 menu
◀ ▶

Метод merge

Метод merge класса TextTheme принимает другую TextTheme. Для каждой роли берёт стиль из аргумента, если он не null, иначе оставляет свой.

Синтаксис

textTheme.merge(other)

Параметры

Параметр Описание
other Вторая TextTheme, чьи непустые стили перекрывают первую.

Пример

Давайте дополним базовую тему акцентным bodyMedium:

import 'package:flutter/material.dart'; void main() { var base = TextTheme( titleLarge: TextStyle(fontSize: 22), ); var patch = TextTheme( bodyMedium: TextStyle(color: Colors.red), ); var res = base.merge(patch); print('abcde'); print(res.bodyMedium?.color); }

Результат выполнения кода

Color(0xffff0000)

Пример

Давайте покажем merge на экране через Theme:

import 'package:flutter/material.dart'; void main() { var merged = ThemeData.light().textTheme.merge( TextTheme( bodyMedium: TextStyle( fontWeight: FontWeight.bold, ), ), ); runApp( MaterialApp( theme: ThemeData( textTheme: merged, ), home: Scaffold( body: Center( child: Text('12345'), ), ), ), ); }

На экране строка '12345' станет жирной из bodyMedium после merge.

Смотрите также

  • метод copyWith,
    который заменяет роли по имени параметра
  • метод apply,
    который задаёт общие поля всем стилям
  • класс TextTheme,
    к которому относится merge
  • класс TextStyle,
    которым описывают каждую роль
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить