Emoji (смайлики) в приложении для Blackberry и Android. Как поддержать? - PullRequest
9 голосов
/ 16 апреля 2011

Интересно, как WhatsApp поддерживает это.Я мог бы использовать смайлики на iPhone, потому что он изначально поддерживается.Я не разрабатываю для bb ни android, но мне нужно помочь кодеру с этим материалом.

Парень из bb сказал мне, что он может добавить шрифт в качестве ресурса проекта (ttf), но так как эмодзи - это цветная графика, я не уверен, что смогу создать ttf.Я тоже ничего не знаю о шрифтах.

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

Спасибо!

Ответы [ 3 ]

17 голосов
/ 18 апреля 2011

На Android вы можете создать шрифт BitMap с помощью учебника i , найденного здесь .Затем вы можете встроить все свои эмодзи в этот шрифт.

Для создания этого на BlackBerry вы можете использовать класс FontFamily .
Вот учебник , который объясняет, как это работает.

Веселитесь!: -)

5 голосов
/ 23 апреля 2011

По моему опыту, большинство смайликов (смайликов) не используют шрифт, а скорее растровую графику (например, смайлики в текстовом редакторе Android по умолчанию). Есть несколько недостатков в использовании шрифта:

  • Предположим, вы превратили символы a, b, c, d и т. Д. В смайлики - тогда пользователь не сможет читать / отправлять сообщения с этими символами, если они не превращаются в смайлики.
  • Шрифты, как правило, довольно большие, поскольку содержат много информации для отображения текста в разных размерах / стилях

Использование растровой графики позволит вам легко использовать одни и те же смайлики на широком спектре устройств, в то время как при использовании стандартных устройств шрифты текста вокруг смайликов.

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

Например, на Android вы можете выполнить это с помощью:

  1. Поиск в строке всех смайликов (регулярные выражения могут сделать это достаточно легко)
  2. Заменить все смайлики строкой <img src="emoticon.png" /> (althugh change emoticon.png в зависимости от типа смайлика)
  3. Преобразовать строку в HTML с помощью String myHtmlString = Html.fromHtml(myEmoticonString, myImageGetter, null);
  4. Показать строку в TextView myTextView.setText(myHtmlString)

На шаге 3 myImageGetter должен быть экземпляр Html.ImageGetter, который возвращает графику (отрисовку) на основе атрибута src изображений в строке (т. Е. Преобразует имя файла строки в фактическую графику). )

Действия на других платформах будут другими, но вы сможете использовать тот же базовый метод (анализ строки, замена смайликов изображениями).

0 голосов
/ 18 апреля 2011

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

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

...