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

Метод getPositionForOffset

Метод getPositionForOffset класса TextPainter принимает Offset относительно начала блока и возвращает TextPosition ближайшего символа. Вызывают после layout для обработки нажатий и выделения.

Синтаксис

painter.getPositionForOffset(offset)

Параметры

Параметр Описание
offset Точка в координатах текстового блока после layout.

Пример

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

import 'package:flutter/material.dart'; void main() { TextPainter painter = TextPainter( text: TextSpan(text: 'abcde'), textDirection: TextDirection.ltr, ); painter.layout(maxWidth: 200); int res = painter.getPositionForOffset(Offset.zero).offset; print(res); }

Результат выполнения кода:

0

Пример

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

import 'package:flutter/material.dart'; void main() { TextPainter painter = TextPainter( text: TextSpan(text: 'abcde'), textDirection: TextDirection.ltr, ); painter.layout(maxWidth: 200); int res = painter.getPositionForOffset(Offset(500, 0)).offset; print(res); }

Результат выполнения кода:

5

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

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