¿Cómo configurar emoji por Unicode en una vista de texto?


94

Hola, me gustaría hacer lo siguiente:

??? unicode = U+1F60A
String emoji = getEmojiByUnicode(unicode)
String text = "So happy "
textview.setText(text + emoji);

para obtener esto en mi vista de texto:

Tan feliz 😊

¿Cómo puedo implementar getEmojiByUnicode(unicode)?

¿Qué tipo debería ser la unicodevariable? (Cadena, char, int?)

¡Tenga en cuenta que NO quiero usar Drawables!

Respuestas:


185

Encontré una solución:

En mi Unicode reemplacé ' U + ' por ' 0x '

Ejemplo: reemplace ' U + 1F60A ' por ' 0x1F60A '

De esta manera tengo un 'int' como

int unicode = 0x1F60A;

Que se puede utilizar con

public String getEmojiByUnicode(int unicode){
    return new String(Character.toChars(unicode));
}

Entonces Textview muestra 😊 sin Drawable

Pruébelo con http://apps.timwhitlock.info/emoji/tables/unicode


3
funciona en 5.1 pero en 4.4.4 obtengo un? para mi cadena de emoji
filthy_wizard

21
¿Es posible hacer esto en el archivo strings.xml?
Spektakulatius

@ user1232726, esto dependerá del teléfono del usuario, incluido el emoji que se utilice.
Suragch

¿Puedes ayudar a convertir este "5794d5f7895fa10a8f8e1357" en el EMOJI .. @GilbertGiesbert .. Gracias ...
Ravindra Kushwaha

2
Desafortunadamente, no funciona con Unicode de 32 bits, como U + 1F1EF U + 1F1F2. Este valor está fuera de los límites de los enteros.
Chris - Jr

40

Puede usar Emojis directamente en recursos de cadena usando el código decimal como este:

😊

por ejemplo:

<string name="emoji">I am happy &#128522;</>

11
Esta es una buena respuesta; para encontrar el código decimal de un emoji, puede usar algo como quackit.com/character_sets/emoji
Adinia

1
No encuentro la x necesaria
hmac

3
Error al compilar: referencia de personaje "& #
Dr. aNdRO

@hmac He revertido la respuesta, eliminé las menciones dex
Vadim Kotov

3

Nota: para Kotlin

fun getEmoji(unicode: Int): String {
    return String(Character.toChars(unicode))
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.