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

Метод merge

Метод merge виджета DefaultTextStyle создаёт виджет DefaultTextStyle, у которого style получен слиянием переданного TextStyle с текущим стилем из context. Параметры style и child обязательны для использования.

Синтаксис

DefaultTextStyle.merge( style: TextStyle(fontWeight: FontWeight.bold), child: Text('abcde'), )

Параметры

Параметр Описание
style Дополнительный TextStyle, который накладывается на стиль предка.
child Поддерево с новым DefaultTextStyle.

Пример

Давайте сделаем дочерний текст жирным, сохранив размер:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: DefaultTextStyle( style: TextStyle(fontSize: 20, color: Colors.black), child: DefaultTextStyle.merge( style: TextStyle(fontWeight: FontWeight.bold), child: Text('abcde'), ), ), ), ), ), ); }

На экране строка 'abcde' будет размером 20 и жирной.

Пример

Давайте сменим только цвет у части поддерева:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: DefaultTextStyle( style: TextStyle(color: Colors.black), child: Column( mainAxisSize: MainAxisSize.min, children: [ Text('abcde'), DefaultTextStyle.merge( style: TextStyle(color: Colors.blue), child: Text('12345'), ), ], ), ), ), ), ), ); }

На экране первая строка чёрная, вторая синяя.

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

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