Emoji2
최근 업데이트 | 안정화 버전 | 출시 후보 버전 | 베타 버전 | 알파 버전 |
---|---|---|---|---|
2023년 2월 8일 | 1.2.0 | - | 1.3.0-beta02 | - |
종속 항목 선언
Emoji2의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.
다음과 같이 앱 또는 모듈의 build.gradle
파일에 필요한 아티팩트의 종속 항목을 추가합니다.
Groovy
dependencies { def emoji2_version = "1.2.0" implementation "androidx.emoji2:emoji2:$emoji2_version" implementation "androidx.emoji2:emoji2-views:$emoji2_version" implementation "androidx.emoji2:emoji2-views-helper:$emoji2_version" }
Kotlin
dependencies { val emoji2_version = "1.2.0" implementation("androidx.emoji2:emoji2:$emoji2_version") implementation("androidx.emoji2:emoji2-views:$emoji2_version") implementation("androidx.emoji2:emoji2-views-helper:$emoji2_version") }
종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.
의견
제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.
자세한 내용은 Issue Tracker 문서를 참고하세요.
Emoji2 Emojipicker 버전 1.0
버전 1.0.0-alpha01
2023년 1월 25일
androidx.emoji2:emoji2-emojipicker:1.0.0-alpha01
이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
- Android OS OEM 기기와 앱에서 최신 그림 이모티콘으로 일관된 사용자 환경을 제공하는 그림 이모티콘 선택 도구를 도입했습니다. 그림 이모티콘 선택 도구는 피부색 변형, 그림 이모티콘 호환성 지원을 비롯한 최신 그림 이모티콘 지원 및 그림 이모티콘 선택 도구 UI를 제공합니다.
API 변경사항
- 클릭 가능한 가로 헤더가 있는 세로 스크롤 가능 뷰에 최신 그림 이모티콘을 제공하는
EmojiPickerView
클래스가 도입되었습니다. - 그림 이모티콘 선택 도구 그리드 열을 XML 속성
emojiGridColumns
또는 함수setEmojiGridColumns()
를 통해 설정할 수 있습니다. - 그림 이모티콘 선택 도구 그리드 행을 XML 속성
emojiGridRows
또는 함수setEmojiGridRows()
를 통해 설정할 수 있습니다. - 그림 이모티콘을 선택한 리스너는
setOnEmojiPickedListener()
를 통해 설정할 수 있으며, 사용자가 그림 이모티콘을 클릭할 때마다 리스너에게 알림이 전송됩니다. setRecentEmojiProvider()
를 사용하여 최근 그림 이모티콘 제공자를 설정할 수 있습니다. 이는 선택적 함수입니다. 최근 그림 이모티콘 제공자가 설정되지 않은 경우 라이브러리에서 기본 최근 그림 이모티콘 제공자를 사용합니다. 기본 동작은 다음과 같이 정의됩니다. 1) 모든 선택된 그림 이모티콘이 공유 환경설정에서 앱별로 저장됩니다. 2) 선택 도구에서 최대 3개 행의 중복 제거된 그림 이모티콘을 역순으로 표시합니다.- 표시된 그림 이모티콘과 그림 이모티콘 변형을 저장하는
EmojiViewItem
클래스가 도입되었습니다. - 최근 그림 이모티콘 목록을 제공하기 위해 구현할 수 있는
RecentEmojiProvider
인터페이스를 도입했습니다.recentEmojiProvider
는 '최근 사용' 카테고리에 그림 이모티콘을 표시한 제공자입니다.
버전 1.3
버전 1.3.0-beta02
2023년 2월 8일
androidx.emoji2:emoji2-*:1.3.0-beta02
가 출시되었습니다. 버전 1.3.0-beta02에 포함된 커밋을 확인하세요.
새로운 기능
- 이 버전은 Compose 통합을 지원하는 안정화 버전입니다.
버전 1.3.0-beta01
2023년 1월 25일
androidx.emoji2:emoji2-*:1.3.0-beta01
이 출시되었습니다. 버전 1.3.0-beta01에 포함된 커밋을 확인하세요.
새로운 기능
- 시스템 제외를 쿼리할 수 있습니다.
- 맞춤 그리기 코드의 스팬을 대체했습니다.
EmojiSopans
뒤에 백그라운드 스팬이 올바르게 적용되지 않는 버그를 수정했습니다.- 이 버전에서는 Compose에서
EmojiCompat
를 지원하는 데 필요한 API를 추가합니다. 곧 출시될 버전에서 그림 이모티콘 호환성을 위한 Compose 지원이 제공될 예정입니다.
버전 1.3.0-alpha01
2023년 1월 11일
androidx.emoji2:emoji2-*:1.3.0-alpha01
이 출시되었습니다. 버전 1.3.0-alpha01에 포함된 커밋을 확인하세요.
낮은 수준의 상호작용을 위한 새로운 API
- 시스템 제외 쿼리
- 맞춤 그리기 코드의 스팬 대체
EmojiSopans
뒤에 백그라운드 스팬이 올바르게 적용되지 않는 버그를 수정했습니다.- 이 버전에서는 Compose에서
EmojiCompat
를 지원하는 데 필요한 API를 추가합니다. 곧 출시될 버전에서 그림 이모티콘 호환성을 위한 Compose 지원이 제공될 예정입니다.
API 변경사항
- 시스템 제외를 쿼리하는 기능을
TypefaceEmojiRasterizer
에 추가했습니다. (I5653e) - 기본
EmojiSpan
동작을 맞춤 그리기 및 크기 조절 코드로 대체하는 새로운 APIEmojiCompat.SpanFactory
를 추가했습니다. (Ib69d9) - Compose에
EmojiCompat
를 추가했습니다. (I96f37, b/139326806)
버그 수정
- 이제 Emoji2가
BackgroundSpan
에서 배경을 올바르게 그립니다. (Ide6a8, b/230525134) - 1.5.0-beta01용 AppCompat API를 완료합니다. (I2a43d, b/236866227)
버전 1.2
버전 1.2.0
2022년 8월 10일
androidx.emoji2:emoji2-*:1.2.0
이 출시되었습니다. 버전 1.2.0에 포함된 커밋을 확인하세요.
1.1.0 이후 중요 변경사항
버그 수정 출시입니다. 1.1.0 이후 새로운 기능이나 API가 추가되지 않았습니다.
하지만 PrecomputedText
또는 TextView.setText(char[])
를 사용하는 앱은 이 버전으로 업데이트하는 것을 우선시해야 합니다.
다음 버그가 수정되었습니다.
Emoji2
는 이전에 미리 계산된 텍스트 레이아웃을 삭제하여PrecomputedText
에 그림 이모티콘을 추가합니다. (I47d06, b/211231958)- Android P에서 emoji2를 사용하도록 구성된
EditText
로 편집기를 백포팅할 때 발생하는 비정상 종료 문제를 해결했습니다. (Ifd709, b/216891011) - emoji2에서 글꼴을 로드하고
TextView.setText(char[])
가 사용될 때 발생하는 비정상 종료 문제를 해결했습니다. (Id511e, b/206859724)
버전 1.2.0-rc01
2022년 7월 27일
androidx.emoji2:emoji2-*:1.2.0-rc01
이 출시되었습니다. 버전 1.2.0-rc01에 포함된 커밋을 확인하세요.
- 마지막 베타 버전 이후 변경사항이 없습니다.
버전 1.2.0-beta01
2022년 7월 13일
androidx.emoji2:emoji2-*:1.2.0-beta01
이 출시되었습니다. 버전 1.2.0-beta01에 포함된 커밋을 확인하세요.
새로운 기능
- 이전 버전에서 변경된 사항은 없습니다(이 버전은 AppCompat 버전을 지원하기 위해 출시됨).
버전 1.2.0-alpha04
2022년 4월 20일
androidx.emoji2:emoji2-*:1.2.0-alpha04
가 출시되었습니다. 버전 1.2.0-alpha04에 포함된 커밋을 확인하세요.
새로운 기능
- 이번 출시에는 변경사항이 없습니다.
버전 1.2.0-alpha03
2022년 4월 6일
androidx.emoji2:emoji2-*:1.2.0-alpha03
이 출시되었습니다. 버전 1.2.0-alpha03에 포함된 커밋을 확인하세요.
새로운 기능
- 이전 버전에서 변경된 사항은 없습니다(이 버전은 appcompat 버전을 지원하기 위해 출시됨).
버전 1.2.0-alpha02
2022년 3월 23일
androidx.emoji2:emoji2-*:1.2.0-alpha02
가 출시되었습니다. 버전 1.2.0-alpha02에 포함된 커밋을 확인하세요.
버그 수정
- Emoji2는 이전에 미리 계산된 텍스트 레이아웃을 삭제하여
PrecomputedText
에 그림 이모티콘을 추가합니다. (I47d06, b/211231958) - Android P에서 emoji2를 사용하도록 구성된 EditText로 편집기를 백포팅할 때 발생하는 비정상 종료 문제를 해결했습니다. (Ifd709, b/216891011)
- emoji2에서 글꼴을 로드하고
TextView.setText(char[])
가 사용될 때 발생하는 비정상 종료 문제를 해결했습니다. (Id511e, b/206859724)
버전 1.2.0-alpha01
2022년 2월 23일
androidx.emoji2:emoji2-*:1.2.0-alpha01
이 출시되었습니다. 버전 1.2.0-alpha01에 포함된 커밋을 확인하세요.
1.1.0 이후 변경사항이 없습니다.
1.1
버전 1.1.0
2022년 2월 23일
androidx.emoji2:emoji2-*:1.1.0
이 출시되었습니다. 버전 1.1.0에 포함된 커밋을 확인하세요.
1.0.0 이후 중요 변경사항
- emoji2 번들에 그림 이모티콘 14 글꼴이 포함되었습니다.
- 시스템 글꼴 뒤에 emojicompat 글꼴이 있을 때 키보드가 그림 이모티콘 표시 방식을 결정할 수 있도록 신규
getEmojiMatch
API가 정확한 정보를 반환합니다. - 숫자 입력이 문자를 올바르게 필터링하도록
NumberKeyListener
버그를 수정했습니다.
버전 1.1.0-rc01
2022년 2월 9일
androidx.emoji2:emoji2-*:1.1.0-rc01
이 출시되었습니다. 버전 1.1.0-rc01에 포함된 커밋을 확인하세요.
새로운 기능
베타에서 변경된 사항이 없습니다.
emoji2 1.0.0과 비교하여 다음과 같은 새로운 기능이 추가되었습니다.
emoji2-bundled
에 그림 이모티콘 14 글꼴이 포함됩니다.- 시스템 글꼴 뒤에 emojicompat 글꼴이 있을 때 키보드가 그림 이모티콘 표시 방식을 결정할 수 있도록 신규
getEmojiMatch
API가 정확한 정보를 반환합니다. - 숫자 입력이 문자를 올바르게 필터링하도록
NumberKeyListener
버그를 수정합니다.
버전 1.1.0-beta01
2022년 1월 26일
androidx.emoji2:emoji2-*:1.1.0-beta01
이 출시되었습니다. 버전 1.1.0-beta01에 포함된 커밋을 확인하세요.
버그 수정
- androidx-emoji2 beta01 출시입니다. alpha01에서 변경된 내용이 없습니다. (Ic61d9)
버전 1.1.0-alpha01
2021년 12월 15일
androidx.emoji2:emoji2-*:1.1.0-alpha01
이 출시되었습니다. 버전 1.1.0-alpha01에 포함된 커밋을 확인하세요.
새로운 기능
emoji2-bundled
에 그림 이모티콘 14 글꼴이 포함됩니다.- 시스템 글꼴 뒤에 emojicompat 글꼴이 있을 때 키보드가 그림 이모티콘 표시 방식을 결정할 수 있도록 신규
getEmojiMatch
API가 정확한 정보를 반환합니다. - 숫자 입력이 문자를 올바르게 필터링하도록
NumberKeyListener
버그를 수정합니다.
API 변경사항
- 키보드가 emojicompat에서 그림 이모티콘 일치 동작을 더 정확하게 조회할 수 있도록 신규 API
getEmojiMatch
를 추가합니다. - 플랫폼 그림 이모티콘 글꼴보다 더 오래된 글꼴을 대상으로 테스트할 때 불리언 반환 값이 정확하지 않으므로
hasEmojiGlyph
를 지원 중단하고getEmojiMatch
로 대체합니다. (Ie693d)
버그 수정
- Emoji2는
NumberKeyListener
의 인스턴스를 래핑하지 않으므로TextView
에서 언어를 구성할 수 있습니다. - Appcompat이
setKeyListener
에 전달된NumberKeyListener
의 인스턴스를 래핑하지 않으므로TextView
가NumberKeyListeners
에서 언어를 올바르게 구성할 수 있습니다. (Ibf113, b/207119921)
1.0
버전 1.0.1
2021년 12월 15일
androidx.emoji2:emoji2-*:1.0.1
이 출시되었습니다. 버전 1.0.1에 포함된 커밋을 확인하세요.
버그 수정
Emoji2
이NumberKeyListener
의 인스턴스를 래핑하지 않으므로TextView
에서 언어를 구성할 수 있습니다.- Appcompat이
setKeyListener
에 전달된NumberKeyListener
의 인스턴스를 래핑하지 않으므로TextView
가NumberKeyListeners
에서 언어를 올바르게 구성할 수 있습니다. (Ibf113, b/207119921)
버전 1.0.0
2021년 11월 17일
androidx.emoji2:emoji2-*:1.0.0
이 출시되었습니다. 버전 1.0.0에 포함된 커밋을 확인하세요.
1.0.0의 주요 기능
추가 기능이 포함된 androidx.emoji2가 androidx.emoji를 대체합니다.
- APK 크기 축소와 androidx.emoji 비교
- 자동 구성
- appcompat 1.4에 종속 항목으로 추가됨
androidx.emoji2에 관한 자세한 내용은 최신 그림 이모티콘 지원 및 Android Dev Summit 강연 앱에 모든 그림 이모티콘 표시(Android Dev)를 참고하세요.
버전 1.0.0-rc01
2021년 10월 27일
androidx.emoji2:emoji2-*:1.0.0-rc01
이 출시되었습니다. 버전 1.0.0-rc01에 포함된 커밋을 확인하세요.
- beta02 이후 변경사항 없음
Emoji2 버전 1.0.0-beta01
2021년 9월 15일
androidx.emoji2:emoji2-*:1.0.0-beta01
이 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.
API 변경사항
setLoadingExecutor
를FontRequestEmojiCompatConfig
에 추가했습니다.setHandler
의 이전 API를 대체합니다. 이 API를 사용하면 앱에서FontRequestEmojiCompatConfig
를 구성하여 모든 백그라운드 실행기를 사용할 수 있습니다.이 변경사항은
androidx.emoji:emoji
의 브레이킹 체인지이므로 이전을 돕기 위해setHandler
는 지원 중단된 무작동 API로 유지됩니다. (I6cd48)EmojiCompat이 Android 11에서
EditorInfo.extras
를 올바르게 설정합니다.- EditText를 서브클래스로 분류하지 않는 IME를 사용하는 맞춤 위젯이
EmojiCompat.updateEditorInfo
를 호출하여 IME에 EmojiCompat 처리를 지원한다고 알릴 수 있습니다. (I1ea9b)
- EditText를 서브클래스로 분류하지 않는 IME를 사용하는 맞춤 위젯이
버그 수정
- API 19 및 28에서 그림 이모티콘 글꼴 제공업체를 올바르게 조회하도록
DefaultEmojiCompatConfig
를 수정했습니다. 이를 통해 emoji2 1.0.0-alpha01에서 발생한 버그를 수정합니다. (Ib33d8, b/197906329)
버전 1.0.0-alpha03
2021년 6월 30일
androidx.emoji2:emoji2-*:1.0.0-alpha03
이 출시되었습니다. 버전 1.0.0-alpha03에 포함된 커밋을 확인하세요.
새로운 기능
이 버전은 버그 수정 및 안정화 버전입니다.
- 이제 EmojiEditTextHelper가
null
을 KeyListener로 전달하도록 허용합니다. 이를 통해 EditText 구현을 지원하는 그림 이모티콘에 null이 적용되도록 허용하는 플랫폼 동작이 가능합니다. - EmojiCompatInitializer를 사용할 때 초기 시작 지연이 첫 번째 활동이 재개된 후 트리거되도록 개선되었습니다. 이를 통해 앱 시작이 경합 없이 발생할 수 있고 UI가 표시되지 않는 앱 시작용 글꼴 로드를 방지합니다. 짧은 지연 후 EmojiCompat은 그림 이모티콘 글꼴을 로드하는 스레드를 만듭니다.
androidx.emoji2:emoji2
에서androidx.lifecycle:lifecycle-process
의 새 종속 항목을 추가하여 지연을 구현합니다. 이미 수명 주기가 포함된 앱(예: appcompat이 있는 앱)의 경우 APK 크기에 거의 영향을 미치지 않습니다.
API 변경사항
- AppCompatEditText에서 null KeyListener를 허용합니다. 이렇게 하면 1.4.0-alpha01에서 AppCompatEditText에 추가된 null이 아닌 주석을 취소하게 되고 null을 전달하면 이전 동작이 복원됩니다. (I21482, b/189559345)
버그 수정
- 첫 번째
Activity.onResume
이후 500ms까지 글꼴 로드가 지연되도록 EmojiCompatInitializer를 변경했습니다. 이를 통해 활동이 경합 없이Application.onCreate
와Activity.onCreate
를 실행할 수 있고 앱 시작 직후 그림 이모티콘 글꼴이 로드되도록 합니다. (I4bff7)
버전 1.0.0-alpha02
2021년 6월 2일
androidx.emoji2:emoji2:1.0.0-alpha02
, androidx.emoji2:emoji2-views:1.0.0-alpha02
및 androidx.emoji2:emoji2-views-helper:1.0.0-alpha02
가 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.
API 변경사항
emoji2-views-helper
의 패키지 이름이androidx.emoji2.viewsintegration
으로 바뀌었습니다. 이는 AppCompat1.4.0-alpha01
의 브레이킹 체인지이며 앱은 새로운 emoji2 버전을 사용하도록 AppCompat 종속 항목이 업데이트되었는지 확인해야 합니다. (Ie8397)
버전 1.0.0-alpha01
2021년 5월 18일
androidx.emoji2:emoji2:1.0.0-alpha01
, androidx.emoji2:emoji2-views:1.0.0-alpha01
및 androidx.emoji2:emoji2-views-helper:1.0.0-alpha01
이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.
이번 최초 출시의 기능
모든 앱에서 API19의 최신 그림 이모티콘을 지원하도록 emojicompat를 통합하는 것이 좋습니다. 앱의 모든 사용자 제작 콘텐츠에는 🎉이 포함되어 있습니다.
이제 alpha01에서는 EmojiCompat가 androidx.emoji
아티팩트에서 새로운 androidx.emoji2
로 이동했습니다. 새 아티팩트가 이전 버전을 대체합니다.
emoji2
는 AppCompat 1.4.0-alpha01
부터 AppCompat에 종속 항목으로 추가되며 AppCompat 뷰에 기본적으로 사용 설정됩니다.
emoji2
아티팩트에는 androidx.startup
라이브러리를 사용하는 새로운 자동 구성이 도입되었습니다. 이제 🐻❄️을 표시하기 위해 👨🏽💻 코드를 작성하지 않아도 됩니다.
emoji 대비 emoji2의 변경사항
androidx.startup
을 사용하는 새로운 자동 구성EmojiCompatInitializer
를 추가했습니다.- 서비스 위치를 사용하여
DefaultEmojiCompatConfiguration
에서 다운로드 가능한 글꼴 제공자를 찾는 새로운 기본 구성을 추가했습니다. - 클래스가
androidx.emoji
패키지에서androidx.emoji2
로 이동했습니다. EmojiTextView
와 관련 뷰를 별도의 아티팩트emoji2-views
로 분할했습니다. 이는 앱에서 appcompat를 사용하지 않는 경우에만 사용해야 합니다.- emojicompat를 맞춤 뷰로 통합하기 위한 도우미를 별도의 아티팩트
emoji2-views-helper
로 추출했습니다. - null 허용 여부 주석이 추가되었습니다.
EmojiCompat
가 초기화되지 않은 경우에도 이제emoji2-views-helper
의 도우미를 사용할 수 있습니다(이전에는 예외가 발생함).
어떤 종속 항목을 추가해야 하나요?
- AppCompat를 사용하는 앱은 appcompat 버전 AppCompat
1.4.0-alpha01
이상으로 업그레이드해야 합니다. - AppCompat를 사용하지 않고 플랫폼에서
TextView
/EditText
를 사용하는 앱은EmojiTextView
및emoji2-views
의 관련 클래스를 사용해야 합니다.
맞춤 뷰에서 지원하는 방법
- AppCompat를 사용하는 앱은 플랫폼
TextView
등이 아닌AppCompatTextView
,AppCompatButton
등을 확장해야 합니다. - AppCompat를 사용하지 않는 앱은
androidx.emoji2:emoji2-views-helper
종속 항목을 추가하고 도우미를 사용하여 맞춤TextView
또는EditText
서브클래스와 통합해야 합니다.
자동 초기화 구성
앱에서는 다음을 매니페스트에 추가하여 자동 초기화를 중지할 수 있습니다.
<provider android:name="androidx.startup.InitializationProvider" android:authorities="${applicationId}.androidx-startup" android:exported="false" tools:node="merge"> <meta-data android:name="androidx.emoji2.text.EmojiCompatInitializer" tools:node="remove" /> </provider>
그러면 자동 구성이 중지되기 때문에 맞춤 구성을
EmojiCompat.init
에 전달할 수 있습니다. 시스템의 기본 구성은EmojiCompat.init
로 전달하기 전에DefaultEmojiCompatConfig.create(context)
에서 가져와 추가로 구성할 수 있습니다.