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

Класс TextTheme

Класс TextTheme описывает TextStyle для ролей displayLarge, titleMedium, bodyMedium и других типов M3. Объект лежит в textTheme у ThemeData и читается через Theme.of(context).textTheme. Слияние и правки дают методы merge, copyWith и apply.

Синтаксис

TextTheme( bodyMedium: TextStyle(fontSize: 16), titleLarge: TextStyle(fontSize: 22), )

Параметры

Параметр Описание
displayLarge Самый крупный заголовок. Принимает TextStyle.
titleMedium Заголовок среднего размера. Принимает TextStyle.
bodyMedium Основной текст абзаца. Принимает TextStyle.

Методы

Метод Описание
apply Принимает fontFamily, fontSize, color, letterSpacing и другие общие поля.
copyWith Принимает новые стили для displayLarge, bodyMedium и других ролей.
lerp Принимает две TextTheme и долю t. Давайте разберём вызов на примерах.
merge Принимает другую TextTheme. Давайте разберём вызов на примерах.

Пример

Давайте зададим bodyMedium в ThemeData:

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

На экране строка 'abcde' станет крупнее и коричневой из bodyMedium.

Пример

Давайте оформим заголовок через titleLarge:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( theme: ThemeData( textTheme: TextTheme( titleLarge: TextStyle( fontWeight: FontWeight.bold, fontSize: 24, ), ), ), home: Builder( builder: (context) { var style = Theme.of(context).textTheme.titleLarge; return Scaffold( body: Center( child: Text( '12345', style: style, ), ), ); }, ), ), ); }

На экране подпись '12345' станет жирной и крупной из titleLarge.

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

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