Как предотвратить изменение размера курсора в EditText (MultiAutoCompleteTextView) после добавления области изображений с помощью SpannableStringBuilder?

Вот как это выглядит в начале, когда я не добавляю чипы изображения -

введите здесь описание изображения

Как вы можете заметить, курсор имеет правильный размер и гравитация соблюдается.

Затем, когда я добавляю изображение, курсор внезапно становится больше, вот так:

введите здесь описание изображения

Я не понимаю, почему это происходит, и я также не знаю, как это исправить, т.е. сохранить курсор одного размера.

Наконец, когда я снова начинаю печатать, курсор становится странным, сохраняя размер шрифта, а диапазон также немного перемещается вниз. Я действительно хочу, чтобы курсор сохранял тот же размер и держал его по центру

введите здесь описание изображения

Мне известно об изменении размера textCursorDrawable с использованием отступов. С этим есть две потенциальные проблемы: 1. Его API 12+ (мы поддерживаем 9 и выше), это не имеет большого значения, хотя 2. Я не смог найти способ сбросить его программно, только видел доступ к нему в определении xml.

Любые идеи?


person Rickster    schedule 11.02.2014    source источник
comment
Вы в конце концов поняли это?   -  person WindsurferOak    schedule 05.11.2014
comment
Для кого-то, кто читает это позже, я написал собственный макет с детьми.   -  person Rickster    schedule 08.06.2015
comment
Можете ли вы поделиться своим решением? Спасибо.   -  person HannaY    schedule 10.01.2019


Ответы (1)


Скорее всего, ImageSpan изменяет высоту строки после добавления. Если вы установите высоту строки больше, чем размер изображения, у меня такое ощущение, что ваш курсор останется постоянного размера (но все же большим). На этом этапе вы можете добавить отступы, чтобы уменьшить его до нужного размера, и он должен оставаться постоянным.

(У меня нет возможности проверить то, что я только что написал, так что это просто теория)

person vinc3m1    schedule 12.02.2014
comment
К сожалению, ни один из них не работал. Заполнение сжимает курсор перед добавлением области изображений. После добавления курсор снова расширяется. Я также пытался изменить высоту строки, но курсор по-прежнему сначала становится меньше, а затем расширяется. - person Rickster; 12.02.2014