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

Метод rich

Метод rich виджета SelectableText работает как SelectableText, но вместо одной строки принимает дерево TextSpan: у каждого фрагмента свой текст и свой стиль. Параметры style, textAlign, maxLines и overflow задают весь абзац сразу: базовый стиль, выравнивание, число строк и обрезку. Само дерево передают в textSpan.

Синтаксис

SelectableText.rich( TextSpan( text: 'abcde', children: [ TextSpan(text: '12345'), ], ), )

Параметры

Параметр Описание
textSpan Дерево TextSpan, из которого собран абзац. Обязательный параметр.
style Цвета и яркость значков системных панелей.
textAlign Выравнивание. Принимает TextAlign.
maxLines Лимит строк.
overflow Обрезка. Принимает TextOverflow.

Пример

Давайте выведем два стиля в одной выделяемой строке:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: SelectableText.rich( TextSpan( style: TextStyle(color: Colors.black), children: [ TextSpan(text: 'abcde'), TextSpan( text: '12345', style: TextStyle(fontWeight: FontWeight.bold), ), ], ), ), ), ), ), ); }

На экране обе части строки можно выделить и скопировать вместе.

Пример

Давайте выровняем форматированный текст по центру:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: SizedBox( width: 240, child: SelectableText.rich( TextSpan( style: TextStyle(fontSize: 16, color: Colors.black), children: [ TextSpan(text: 'abcde '), TextSpan( text: '12345', style: TextStyle(color: Colors.blue), ), ], ), textAlign: TextAlign.center, ), ), ), ), ), ); }

На экране выделяемая строка будет по центру блока, вторая часть - синей.

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

  • виджет SelectableText,
    который выводит простую выделяемую строку
  • метод rich у Text,
    который рисует TextSpan без выделения
  • класс TextSpan,
    который описывает фрагменты текста
  • виджет SelectionArea,
    который включает выделение для обычного Text внутри
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить