본문 바로가기

안드로이드/오류해결

[AOS] 이모지 깨짐 현상 ( 파편화 대응 )

반응형

이모지란?

이모지(Emoji)는 Unicode의 그림 문자열을 뜻합니다. 예로 채팅시 디바이스별 제공되는 아래와 같은 친구들입니다. 

s21+

이모지 파편화 

안드로이드나 아이폰 끼리도 다르고 심지어 같은 삼성폰이여도 표현하는 방식들이 다릅니다.

그리고 페이스북이나 트위터와 같은 SNS 플랫폼에서도 각기 다르게 표현합니다. 

그래서 이모지가 의도와 다르게 보여지거나 깨져서 안보일 수 있습니다. 

 

예를 들어 서버에서 이모지 스트링을 내려줘서 앱내에 보여줘야 하는 경우 대중적인걸 사용한다고 해도 어떤 기기가 깨지는지 모두 확인하는 건 어렵습니다. ( 테스트시 s10에서는 깨지는데 s21에서는 안깨짐 )

 

이모지 파편화 대응

구글에서 이모지가 깨지지 않도록 라이브러리를 제공합니다. ( 공식문서

TextView, EditText를 제공해 편리하게 대응할 수 있습니다.

 

라이브러리 추가

dependencies {
    ...
    implementation("com.android.support:support-emoji:28.0.0")
}

위젯 사용

아래 위젯들을 사용하면 깨지던 이모지가 정상적으로 출력됩니다.

<android.support.text.emoji.widget.EmojiTextView
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"/>

<android.support.text.emoji.widget.EmojiEditText
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"/>

<android.support.text.emoji.widget.EmojiButton
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"/>

 

 

 

반응형