Еще несколько вопросов:
Действительно ли он должен быть редактируемым, т. Е. Пользователь может вводить текст непосредственно в него? Если так, как это будет работать? когда они введут '*', он поймет это и заменит его на ваш png? Было бы приемлемо, если бы он не прерывал их при вводе, а вместо этого сразу после завершения ввода всей строки?
Лучший ответ, который у меня есть на данный момент:
EditText не поддерживает это по умолчанию. Скорее всего, вам придется создать свой собственный вид, представляющий собой некий вид гибридного редактирования EditText и LinearLayout, который может содержать ImageViews с вашими png-файлами. Если пользователь не должен редактировать его, это будет проще, потому что вы можете сделать свой пользовательский вид LinearLayout и добавить TextView и ImageViews с соответствующим текстом и изображениями, установленными в них. Если он действительно должен быть редактируемым, это вызовет большую сложность. Вам придется использовать TextChangedListener, чтобы вытащить каждый символ по мере его ввода и заменить его ImageView, если это будет необходимо. Мне кажется, что трудная часть будет знать, где расположить ImageView, и, имея EditText, знать, что вы хотите, чтобы он поднял текст с другой стороны изображения. Я не уверен, как ты справишься с этим. Возможно, лучшее решение - у вас есть EditText, в который они набирают текст, а затем у вас есть свой пользовательский вид в качестве экранного представления. Таким образом, вам не нужно беспокоиться о размещении изображений поверх текста редактирования и правильном перемещении курсора к правой стороне изображения.