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

Виджет SelectionArea

Виджет SelectionArea оборачивает поддерево и даёт выделять обычный Text и другой текст, как в документе. Дочерний виджет передают в child. Поведение меню и фокуса можно настроить через focusNode и selectionControls.

Синтаксис

SelectionArea( child: Column( children: [ Text('abcde'), ], ), )

Параметры

Параметр Описание
child Поддерево, в котором разрешено выделение текста.
focusNode Узел фокуса для клавиатурного выделения.
selectionControls Набор кнопок панели выделения для платформы.
contextMenuBuilder Построитель контекстного меню при выделении.

Пример

Давайте сделаем выделяемым обычный Text:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: SelectionArea( child: Text('abcde'), ), ), ), ), ); }

На экране строка 'abcde' станет выделяемой, хотя это не SelectableText.

Пример

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

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: SelectionArea( child: Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ Text('abcde'), Text('12345'), ], ), ), ), ), ), ); }

На экране можно протянуть выделение через обе строки и скопировать их одним фрагментом.

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

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