Виджет SelectableText
Виджет SelectableText похож на
Text, но поддерживает
выделение и копирование. Строка - в data,
оформление - в style, выравнивание - в textAlign.
Параметры maxLines и overflow ограничивают длину на экране.
Синтаксис
SelectableText(
'abcde',
style: TextStyle(fontSize: 16),
)
Параметры
| Параметр | Описание |
|---|---|
data |
Текст для показа и выделения. |
style |
Стиль символов. Принимает
TextStyle.
|
textAlign |
Выравнивание абзаца. Принимает
TextAlign.
|
maxLines |
Максимум строк текста. |
overflow |
Обрезка при нехватке места. Принимает
TextOverflow.
|
Методы
| Метод | Описание |
|---|---|
rich |
Выводит TextSpan с поддержкой выделения. Давайте рассмотрим его на примерах.
|
Пример
Давайте покажем текст, который можно выделить:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: SelectableText('abcde'),
),
),
),
);
}
На экране по центру будет строка 'abcde'.
Её можно выделить жестом или мышью.
Пример
Давайте ограничим текст двумя строками:
import 'package:flutter/material.dart';
void main()
{
runApp(
MaterialApp(
home: Scaffold(
body: Center(
child: SizedBox(
width: 120,
child: SelectableText(
'abcde 12345 abcde 12345',
maxLines: 2,
overflow: TextOverflow.ellipsis,
),
),
),
),
),
);
}
На экране текст займет не больше двух строк, лишнее скроется с многоточием, выделить можно видимую часть.
Смотрите также
-
виджет
SelectionArea,
который включает выделение для всего поддерева -
виджет
Text,
который рисует текст без выделения -
метод
rich,
который строит выделяемый форматированный текст -
класс
TextStyle,
который задаёт оформление выделяемого текста