Вы можете достичь этого, используя объекты ImageSpan.TextViews и EditTexts используют объекты Spanned / Spannable для хранения введенного текстового содержимого, а не просто строк Java.На этих Spanned / Spannable объектах вы можете определить интервалы для разделов в тексте, который изменяет способ отображения этих разделов.Таким образом, вы можете отображать текст жирным шрифтом, курсивом и т. Д., А также отображать изображения вместо определенных разделов.
Таким образом, вы можете искать шаблон ":-)" во введенном тексте, инаденьте на него ImageSpan, показывая смайлик.Проверьте документы .