#android
Собственно необходимо добавить смайлы в android приложение в поля EditText и RecyclerView Есть ли существующие библиотеки?
Ответы
Ответ 1
Библиотека не нужна. Смайлы, которые у вас доступны в телефоне закодированы в UNICODE. Все что нужно, это перевести правильно юникод(int) в строку. Вот ресурс на все смайлы с Unicode. Перевод юникода в строку-смайл (код на котлине) fun getEmojiByUnicode(unicode: Int): String = String(Character.toChars(unicode)) Если юникод приходит в виде строки, то можно перевести его в int так: Integer.parseInt("юникод без превикса U+", 16)Ответ 2
Хотя ответ Павла весьма корректен и точен (я проголосовал за него), позволю себе чуть больше его расширить: Замените из этой таблицы http://apps.timwhitlock.info/emoji/tables/unicode 'U+' на '0x'. Например 'U+1F60A' на '0x1F60A'. Таким образом, вы получите int int unicode = 0x1F60A; Затем, можно сделать вот такой метод: public String getEmojiByUnicode(int unicode){ return new String(Character.toChars(unicode)); } В TextView (или в EditText) вы увидите 😊 без DrawableОтвет 3
// Create spannable text and set style. Spannable text = new SpannableString("This is underline and bold text."); text.setSpan(new UnderlineSpan(), 8, 17, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); text.setSpan(new StyleSpan(Typeface.BOLD), 22, 26, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); // Set spannable text in TextView. TextView textView = (TextView) findViewById(R.id.text); textView.setText(text); http://developer.alexanderklimov.ru/android/theory/spannable.php
Комментариев нет:
Отправить комментарий