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

Метод copyWith

Метод copyWith класса TextTheme принимает новые стили для displayLarge, bodyMedium и других ролей. Непереданные роли копируются из исходной темы.

Синтаксис

textTheme.copyWith( bodyMedium: style, )

Параметры

Параметр Описание
bodyMedium Новый стиль основного текста.
titleLarge Новый стиль крупного заголовка.

Пример

Давайте увеличить bodyMedium через copyWith:

import 'package:flutter/material.dart'; void main() { var base = ThemeData.light().textTheme; var res = base.copyWith( bodyMedium: TextStyle(fontSize: 18), ); print('12345'); print(res.bodyMedium?.fontSize); }

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

18.0

Пример

Давайте передать copyWith в MaterialApp:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( theme: ThemeData.light().copyWith( textTheme: ThemeData.light().textTheme.copyWith( bodyMedium: TextStyle(color: Colors.teal), ), ), home: Scaffold( body: Center( child: Text('abcde'), ), ), ), ); }

На экране основной текст 'abcde' станет teal из изменённого bodyMedium.

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

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