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

Класс WidgetSpan

Класс WidgetSpan расширяет InlineSpan: вместо букв в абзаце рисуется дочерний виджет. Виджет передают в child, выравнивание по строке - в alignment, базовая линия - в baseline. Стиль строки вокруг виджета можно задать через style.

Синтаксис

WidgetSpan( child: Icon(Icons.star), alignment: PlaceholderAlignment.middle, )

Параметры

Параметр Описание
child Виджет, который встанет в текстовую строку.
alignment Как виджет выравнивается относительно строки. Принимает PlaceholderAlignment.
baseline Какую базовую линию шрифта использовать. Принимает TextBaseline. Имеет смысл, когда alignment равен PlaceholderAlignment.baseline.
style Стиль текста рядом с виджетом. Принимает TextStyle.

Пример

Давайте поставим иконку между двумя словами:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: RichText( text: TextSpan( style: TextStyle(fontSize: 18, color: Colors.black), children: [ TextSpan(text: 'abcde'), WidgetSpan( child: Icon(Icons.star, size: 18, color: Colors.orange), alignment: PlaceholderAlignment.middle, ), TextSpan(text: '12345'), ], ), ), ), ), ), ); }

На экране между строками 'abcde' и '12345' появится звёздочка по центру строки.

Пример

Давайте вставим цветной квадрат в текст:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: RichText( text: TextSpan( style: TextStyle(fontSize: 16, color: Colors.black), children: [ TextSpan(text: 'abcde '), WidgetSpan( child: Container( width: 12, height: 12, color: Colors.red, ), alignment: PlaceholderAlignment.middle, ), TextSpan(text: ' 12345'), ], ), ), ), ), ), ); }

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

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

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