![]() |
|
||||||||||
|
|||||
|
как сделать смайлы в тексте?
Есть большое текстовое поле с поддержкой мултилайна, в который динамически передается текст. Нужно, чтобы определенные последовательности символов отображались, как иконки, т.е. смайлы. Например, вот такая последовательность "*SMILE*" должна заменяться на символ из библиотеки "SmileIcon". С htmlText'ом беда какая-то, картинка наплывает на текст. Кто-нибудь пожет подсказать как это реализовать? |
|
|||||
|
Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
|
в гугл и в поиске по форуму полно примеров разной реализации
|
|
|||||
|
да искал я по форуму, тут все не подходит для моего случая
|
|
|||||
|
Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
|
думаю надо сделать так:
находим индекс подстроки (*SMILE*), в строке заменяем его 3-4 пробелами, находим координаты этой подстроки .. видимо через getCharBoundaries, и поверх текста добавляем смайл только тут вопрос если смайл больше по высоте чем высота строки... может можно по-другому ![]()
__________________
low + |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 28
|
delete
Последний раз редактировалось garkin; 17.12.2009 в 15:24. |
|
|||||
|
а можно как-нибудь без Text Layout Framework?
Катринки у меня маленькие, примерно такого же размера как и буква. Я делаю онлайн игру, в ней уже достаточно много обычных текстовых полей и менять все это на новый фреймворк займет очень много времени. Должен же быть более или менее не "топорный" вариан замены таких строк как *GOLD* и *SAPPHIRE* на соответствующие иконки |
|
|||||
|
.
|
|
|
|||||
|
Спасибо за хороший пример, но мне желательно оперировать с уже имеющимися текстовыми полями, а в этом примере нужно создавать новый класс SmileRenderer
|
|
|||||
|
.
|
Добавлять картинки-смайлы поверх текстового поля в промежутки, оставленные после замены таких строк как "*GOLD* и *SAPPHIRE*" на пробельные символы.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 17:58. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|