Страницы

Поиск по вопросам

пятница, 12 октября 2018 г.

обтекание изображения текстом в EditText

Справа от ImageView в EditText должен вводиться текст. Если вдруг окажется что текст заполнил все пространство справа от ImageView, нужно чтобы текст продолжал вводиться под ImageView начиная от самого (левого) края экрана устройства. Схематически это представлено на прикрепленном рисунке.
Сразу скажу что подобный вариант чудесно работает с TextView, но не хочет сотрудничать с EditText. Прошу не оставаться равнодушными и подсказать хотя бы направление решения моей проблемы.


Ответ

После нескольких экспериментов и изучения EditText/TextView оказалось, что в TextView (в котором собственно и задано все необходимое для редактирования текста) есть ошибки (или недоделки) из-за которых он при отрисовке курсора и выделения не принимает во внимание span текста.
В результате текст в EditText при использовании LeadingMarginSpan отрисовывается правильно, а выделение и курсор ведут себя так, как будто текст занимает прямоугольник (за исключением первой строки).
Чтобы это реализовать надо делать свой кастомный TextView и править в нем баги доделывать недоделки. Учитывая, что TextView содержит порядка 10000 строк кода это будет непросто.

Комментариев нет:

Отправить комментарий