TextView에서 유니 코드로 이모티콘을 설정하는 방법은 무엇입니까?


94

안녕하세요, 다음을 수행하고 싶습니다.

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

내 textview에서 이것을 얻으려면 :

너무 행복 해요 😊

어떻게 구현할 수 getEmojiByUnicode(unicode)있습니까?

unicode변수 는 어떤 유형이어야 합니까? (문자열, 문자, 정수?)

드로어 블을 사용하고 싶지 않습니다!

답변:


185

해결책을 찾았습니다.

내 유니 코드에서 ' U + '를 ' 0x ' 로 대체했습니다.

예 : ' U + 1F60A '를 ' 0x1F60A로 대체 '로

이 방법으로 나는 'int'를 얻었습니다.

int unicode = 0x1F60A;

함께 사용할 수있는

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

따라서 Textview는 Drawable없이 😊을 표시합니다.

http://apps.timwhitlock.info/emoji/tables/unicode로 사용해보십시오


3
5.1에서 작동하지만 4.4.4에서는? 내 이모티콘 문자열
filthy_wizard

21
strings.xml 파일에서이 작업을 수행 할 수 있습니까?
Spektakulatius

@ user1232726, 사용중인 이모티콘을 포함하여 사용자의 휴대 전화에 따라 다릅니다.
Suragch

u는이 "5794d5f7895fa10a8f8e1357"이모티콘 .. @GilbertGiesbert ..Thanks ...로 변환 도와주세요 수
라빈 드라 Kushwaha

2
불행히도 U + 1F1EF U + 1F1F2와 같은 32 비트 유니 코드에서는 작동하지 않습니다. 이 값은 정수 경계를 벗어납니다.
Chris-Jr

40

다음과 같은 십진수 코드를 사용하여 문자열 리소스에서 이모티콘을 직접 사용할 수 있습니다.

😊

예를 들면 :

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

11
이것은 좋은 대답입니다. 그림 이모티콘의 진수 코드를 찾기 위해, 당신은 같은 것을 사용할 수 있습니다 quackit.com/character_sets/emoji
Adinia

1
필요한 x를 찾지 못했습니다
hmac

3
빌드 중 오류 : 문자 참조 "& #
Dr. aNdRO

@hmac 나는 대답을 롤백하고 언급을 제거했습니다.x
Vadim

3

참고 : Kotlin의 경우

fun getEmoji(unicode: Int): String {
    return String(Character.toChars(unicode))
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.