Обработка смайликов в android

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

Я просмотрел комментарии, используя comment.setText(Html.fromHtml(text));

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

1 ответ

Android Span позволяет вам форматировать код по своему усмотрению. Вы можете использовать ImageSpan для визуализации входного текста ":-)" любым растровым изображением в TextView:

String text = "here is a smiley :-)";
String smileyStr = ":-)";
SpannableString ss = new SpannableString("Here a smiley :-)");
int smileyStart = text.indexOf(smileyStr);
Bitmap smiley = BitmapFactory.decodeResource(getResources(), R.drawable.emoticon);
ss.setSpan(new ImageSpan(smiley), text.indexOf(smileyStr), smileyStr.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE); 
textView.setText(ss);

Вы можете узнать больше здесь: http://blog.stylingandroid.com/introduction-to-spans/

licensed under cc by-sa 3.0 with attribution.