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

Класс TextPosition

Класс TextPosition указывает место в уже свёрстанном тексте. Поле offset хранит индекс символа. Его принимает getOffsetForCaret, чтобы перевести индекс в координаты каретки.

Синтаксис

TextPosition(offset: 3)

Параметры

Параметр Описание
offset Смещение каретки в символах от начала текста. Ноль - перед первым символом.

Пример

Давайте узнаем сдвиг каретки после трёх символов 'abcde':

import 'package:flutter/material.dart'; void main() { var painter = TextPainter( text: TextSpan(text: 'abcde'), textDirection: TextDirection.ltr, ); painter.layout(); var caret = painter.getOffsetForCaret( TextPosition(offset: 3), Rect.zero, ); runApp( MaterialApp( home: Scaffold( body: Center( child: Text(caret.dx.toStringAsFixed(0)), ), ), ), ); }

На экране число: горизонтальный сдвиг каретки после трёх символов.

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

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