Emoji2

현재 및 이전 기기에 그림 이모티콘을 표시합니다.
최근 업데이트 안정화 버전 출시 후보 버전 베타 버전 알파 버전
2024년 9월 4일 1.5.0 - - -

종속 항목 선언

Emoji2의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.

다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.

Groovy

dependencies {
    def emoji2_version = "1.5.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.5.0"

    implementation("androidx.emoji2:emoji2:$emoji2_version")
    implementation("androidx.emoji2:emoji2-views:$emoji2_version")
    implementation("androidx.emoji2:emoji2-views-helper:$emoji2_version")
}

종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.

의견

제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.

새로운 문제 제출하기

자세한 내용은 Issue Tracker 문서를 참고하세요.

Emoji2 Emojipicker 버전 1.0

버전 1.5.0

2024년 9월 4일

androidx.emoji2:emoji2-*:1.5.0이 출시되었습니다. 버전 1.5.0에는 이 커밋이 포함되어 있습니다.

1.4.0 이후 중요 변경사항

  • 그림 이모티콘 15.1 및 양방향 그림 이모티콘 선택 도구 UI를 지원합니다. 양방향 전환 버튼을 클릭하기만 하면 사용자가 왼쪽을 향한 버전과 오른쪽을 향한 버전의 그림 이모티콘 간에 전환할 수 있습니다.
  • 다중 피부색 그림 이모티콘 선택기를 지원합니다. 커플 이모티콘을 길게 누르면 0 상태의 여러 사용자 이모티콘 선택기가 표시됩니다. 사용자가 그림 이모티콘의 왼쪽 절반을 탭하면 오른쪽 하단의 그림 이모티콘 미리보기가 업데이트됩니다. 사용자가 그림 이모티콘의 양쪽을 모두 선택하면 오른쪽 하단의 그림 이모티콘 미리보기에 전체 그림 이모티콘이 표시되며 사용자가 이를 입력할 수 있습니다.

버전 1.0.0-alpha03

2023년 3월 8일

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha03이 출시되었습니다. 버전 1.0.0-alpha03에 포함된 커밋을 확인하세요.

버그 수정

  • 불필요한 리소스를 삭제하고 라이브러리 크기를 약 300,000바이트 줄였습니다.

버전 1.0.0-alpha02

2023년 2월 22일

androidx.emoji2:emoji2-emojipicker:1.0.0-alpha02이 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.

API 변경사항

  • Java 클라이언트가 최근 그림 이모티콘을 제공할 수 있는 새 API를 추가했습니다. 추가했습니다. (I39d10)

버그 수정

  • 그림 이모티콘 15.0을 지원하도록 그림 이모티콘 리소스를 업데이트합니다. (Ib4eb3)
  • 팝업 창에서 이모티콘을 선택할 때 동일한 이모티콘을 모두 새로 선택한 이모티콘으로 업데이트합니다 (최근 이모티콘 행 제외). 클릭할 때 이모티콘을 읽어줍니다. (I892c6)
  • EmojiPickerView를 표시하기 전에 emojicompat가 로드될 때까지 기다립니다. 추가했습니다. (I29e03)

버전 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.5

버전 1.5.0

2024년 9월 4일

androidx.emoji2:emoji2-*:1.5.0이 출시되었습니다. 버전 1.5.0에는 이 커밋이 포함되어 있습니다.

1.4.0 이후 중요 변경사항

  • 그림 이모티콘 15.1 및 양방향 그림 이모티콘 선택 도구 UI를 지원합니다. 양방향 전환 버튼을 클릭하기만 하면 사용자가 왼쪽을 향한 버전과 오른쪽을 향한 버전의 그림 이모티콘 간에 전환할 수 있습니다.
  • 다중 피부색 그림 이모티콘 선택기를 지원합니다. 커플 이모티콘을 길게 누르면 0 상태의 여러 사용자 이모티콘 선택기가 표시됩니다. 사용자가 그림 이모티콘의 왼쪽 절반을 탭하면 오른쪽 하단의 그림 이모티콘 미리보기가 업데이트됩니다. 사용자가 그림 이모티콘의 양쪽을 모두 선택하면 오른쪽 하단의 그림 이모티콘 미리보기에 전체 그림 이모티콘이 표시되며 사용자가 이를 입력할 수 있습니다.

버전 1.5.0-rc01

2024년 8월 21일

androidx.emoji2:emoji2-*:1.5.0-rc01이 출시되었습니다. 버전 1.5.0-rc01에 포함된 커밋을 확인하세요.

새로운 기능

  • 그림 이모티콘 15.1 및 양방향 그림 이모티콘 선택 도구 UI를 지원합니다. 양방향 전환기를 클릭하기만 하면 왼쪽과 오른쪽 버전의 이모티콘 간에 전환할 수 있습니다.
  • 다중 피부색 그림 이모티콘 선택기를 지원합니다. 커플 이모티콘을 길게 누르면 0 상태의 여러 사용자 이모티콘 선택기가 표시됩니다. 사용자가 그림 이모티콘의 왼쪽 절반을 탭하면 오른쪽 하단의 그림 이모티콘 미리보기가 이에 따라 업데이트됩니다. 사용자가 그림 이모티콘의 양쪽을 모두 선택하면 미리보기에 전체 그림 이모티콘이 표시되며 사용자가 이를 입력할 수 있습니다.

버그 수정

  • 새 플랫폼 API에 대한 액세스 수동 개요가 삭제되었습니다. AGP 7.3 이상 (예: R8 버전 3.3)에서 R8을 사용하고 있을 때와 AGP 8.1 이상 (예: D8 버전 8.1)을 사용할 때 모든 빌드에서 API 모델링을 통해 자동으로 이루어지기 때문입니다. AGP를 사용하지 않는 클라이언트는 D8 버전 8.1 이상으로 업데이트하는 것이 좋습니다. 자세한 내용은 이 도움말을 참조하세요. (If6b4c, b/345472586)
  • EmojiPickerView의 탭 선택과 표시기가 클릭 한 번 후에 업데이트됩니다. (146b02, b/288261054)
  • EmojiPickerView의 탭 선택 및 표시기가 손상되었습니다. (5e1f14, b/273883688)

버전 1.5.0-beta01

2024년 7월 10일

androidx.emoji2:emoji2-*:1.5.0-beta01이 출시되었습니다. 버전 1.5.0-beta01에는 이 커밋이 포함되어 있습니다.

새로운 기능

  • 그림 이모티콘 15.1 및 양방향 그림 이모티콘 선택 UI를 지원합니다.
  • 다중 피부색 선택을 위한 디자인 변경을 지원합니다.

버그 수정

  • EmojiPickerView의 탭 선택과 표시기가 클릭 한 번 후에 업데이트됩니다. (146b02, b/288261054)
  • EmojiPickerView의 탭 선택 및 표시기가 작동하지 않습니다. 추가했습니다. (5e1f14, b/273883688)

버전 1.5.0-alpha01

2023년 12월 13일

androidx.emoji2:emoji2-*:1.5.0-alpha01이 출시되었습니다. 버전 1.5.0-alpha01에 포함된 커밋을 확인하세요.

새로운 기능

  • emoji2-bundled에는 Emoji 15.1을 지원하도록 업데이트된 그림 이모티콘 글꼴이 포함되어 있습니다.

API 변경사항

  • InitCallback의 콜백 스레드를 제어하는 실행자를 추가합니다. 추가했습니다. (I32b67)
  • 이제 BundledEmojiCompatConfig는 실행기를 사용하여 로드 스레드를 제어합니다. (I00e81)

버전 1.4

버전 1.4.0

2023년 8월 9일

androidx.emoji2:emoji2-*:1.4.0이 출시되었습니다. 버전 1.4.0에 포함된 커밋을 확인하세요.

1.3.0 이후 중요 변경사항

  • 그림 이모티콘 선택 도구 라이브러리가 도입되었습니다. 자세한 내용은 개발자 문서를 확인하세요.

버전 1.4.0-rc01

2023년 7월 26일

androidx.emoji2:emoji2-*:1.4.0-rc01이 출시되었습니다. 버전 1.4.0-rc01에 포함된 커밋을 확인하세요.

API 변경사항

  • registerSource 목록 도입 (Iae92f)
  • API Council 의견: TransitionManager.seekTo()의 이름이 createSeekController()로 변경되었습니다. TransitionManager.seekTo()을(를) TransitionManager.createSeekController()에 추가하는 것에 관한 이전 댓글을 수정해 주세요. (Idbeb1)
  • Data, NoData, ConsentRequiredStates의 상위 클래스가 아닌 ExerciseRouteResult를 추가했습니다. 경로의 위치 데이터를 보유하는 독립형 클래스로 ExerciseRoute를 추가했습니다. (I22eed)
  • Pager에서 측정기준이 통과된 후 수집된 정보가 포함된 PagerLayoutInfo를 도입했습니다. 또한 Pager에서 단일 측정 페이지에 관한 정보인 PageInfo도 도입했습니다. (Iad003, b/283098900)

버그 수정

  • Material3 디자인에 따라 Button, IconButton, TextButton의 색상을 업데이트했습니다. 이제 Modifier.semantics를 사용하여 Button, IconButton, TextButton의 시맨틱 역할을 재정의할 수 있습니다. (Ib2495)
  • EmojiPickerView의 탭 선택 및 표시기가 클릭 한 번 뒤에 업데이트되는 문제를 수정했습니다. (I4db04)
  • 그림 이모티콘 선택 도구 표시 관련 FileNotFoundException (I353e4)
  • EmojiPickerView 사용 시 WindowManager.BadTokenException를 포착합니다. (I0a144)

버전 1.4.0-beta05

2023년 6월 7일

androidx.emoji2:emoji2-*:1.4.0-beta05이 출시되었습니다. 버전 1.4.0-beta05에 포함된 커밋을 확인하세요.

버그 수정

  • RelativeSizeSpan와 같은 MetricsAffectingSpans가 두 번 적용되는 1.3에서 도입된 버그가 수정되었습니다. 텍스트 레이아웃 중에 한 번 그리고 EmojiSpan.draw 내부에서 다시 한 번 결과가 잘못된 크기로 그려졌습니다. 이는 텍스트 크기 매개변수가 스팬에 의해 변경된 경우 표시됩니다. b/283208650을 참조하세요.

버전 1.4.0-beta04

2023년 5월 24일

androidx.emoji2:emoji2-*:1.4.0-beta04이 출시되었습니다. 버전 1.4.0-beta04에 포함된 커밋을 확인하세요.

이 릴리스에서는 글꼴 로드가 완료된 후 그림 이모티콘 스팬을 업데이트하려고 할 때 기본이 아닌 핸들러가 있는 뷰에서 예외가 발생하는 버그를 1.0부터 수정했습니다. 해결 방법이 없습니다. 이 버그로 인해 영향을 받는 경우 이 버전 이상으로 업그레이드하세요.

버그 수정

  • 이제 EmojiCompat init 콜백이 각 뷰의 핸들러를 사용하여 기본 스레드에 없는 뷰를 따릅니다. (Iccbcf)

버전 1.4.0-beta03

2023년 5월 10일

androidx.emoji2:emoji2-*:1.4.0-beta03이 출시되었습니다. 버전 1.4.0-beta03에 포함된 커밋을 확인하세요.

버그 수정

  • 그림 이모티콘 선택 도구의 중첩된 팝업 뷰 비정상 종료 문제를 수정했습니다. (0acc8e)
  • EmojiCompat getEmojiStart/getEmojiEnd에서 조기 예외를 발생시킵니다. 추가했습니다. (26177f)

버전 1.4.0-beta02

2023년 4월 19일

androidx.emoji2:emoji2-*:1.4.0-beta02이 출시되었습니다. 버전 1.4.0-beta02에 포함된 커밋을 확인하세요.

버그 수정

  • 린트 기준 파일 업데이트 (Iaa212)

버전 1.4.0-beta01

2023년 4월 5일

androidx.emoji2:emoji2-*:1.4.0-beta01이 출시되었습니다. 버전 1.4.0-beta01에 포함된 커밋을 확인하세요.

새로운 기능

androidx.emoji2:emoji2-emojipicker

그림 이모티콘 선택 도구는 현대적인 디자인과 최신 그림 이모티콘, 사용 편의성을 제공하는 UI 솔루션입니다. 사용자는 그림 이모티콘과 그 변형을 둘러보고 선택하거나 최근에 사용한 그림 이모티콘 중에서 선택할 수 있습니다. 이 라이브러리를 사용하면 개발자가 자체 이모티콘 선택 도구를 처음부터 빌드하고 유지 관리하지 않아도 다양한 OEM의 앱에서 사용자에게 포용적이고 통합된 이모티콘 환경을 제공할 수 있습니다.

최신 그림 이모티콘

매년 새로운 그림 이모티콘이 출시되며, Google에서는 그림 이모티콘 선택 도구에 이를 선택적으로 포함합니다. 이전 버전과의 호환성을 보장하기 위해 내부적으로 정확한 그림 이모티콘 렌더링 가능성 검사를 실행하여 토후를 제거합니다. 이렇게 하면 라이브러리가 여러 Android 버전 및 기기에서 호환됩니다.

고정 변형

이모티콘을 길게 누르면 다양한 성별이나 피부색 등의 변형 메뉴가 표시됩니다. 선택한 변형이 그림 이모티콘 선택 도구에 저장되고 마지막으로 선택한 변형이 기본 패널에 사용됩니다. 이 기능을 통해 사용자는 탭 한 번으로 원하는 이모티콘 변형을 전송할 수 있습니다.

최근 그림 이모티콘

RecentEmojiProvider는 '최근 사용' 카테고리에 그림 이모티콘을 표시한 제공자입니다. 라이브러리에는 가장 일반적인 사용 사례를 충족하는 기본 최근 그림 이모티콘 제공자가 있습니다.

  • 선택한 모든 그림 이모티콘은 공유 환경설정에 앱별로 저장됩니다.
  • 선택 도구에는 중복 제거된 그림 이모티콘이 최대 3개 행 역순으로 표시됩니다.

이 기본 동작으로 충분하다면 setRecentEmojiProvider() 메서드를 설정할 필요가 없습니다.

EmojiCompat 사용

앱에 EmojiCompat 인스턴스가 있으면 그림 이모티콘 선택 도구에서 최대한 많은 그림 이모티콘을 렌더링하는 데 사용됩니다. EmojiCompat가 사용 중지되어도 그림 이모티콘 선택 도구는 계속 작동합니다.

라이브러리 사용 방법

이 라이브러리를 사용하려면 앱 개발자가

  1. build.gradle에서 androidx.emoji2:emojipicker:$version를 가져옵니다.

    dependencies {
      implementation "androidx.emoji2:emojipicker:$version"
    }
    
  2. 그림 이모티콘 선택 도구 뷰를 확장하고 원하는 경우 각 그림 이모티콘 셀의 원하는 크기에 따라 emojiGridRowsemojiGridColumns를 설정합니다.

    • 설정하지 않아도 됩니다. 기본값은 9 emojiGridColumns이며 행은 상위 뷰 높이와 emojiGridColumns를 기준으로 계산됩니다.
    • XML에서 아래로 스크롤할 때 이모티콘이 더 있음을 나타내도록 emojiGridRows를 부동 소수점 수로 설정할 수 있습니다.
     <androidx.emoji2.emojipicker.EmojiPickerView
      android:id="@+id/emoji_picker"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      app:emojiGridColumns="9" />
    

코드

    val emojiPickerView = EmojiPickerView(context).apply {
        emojiGridColumns = 15
        layoutParams = ViewGroup.LayoutParams(
            ViewGroup.LayoutParams.MATCH_PARENT,
            ViewGroup.LayoutParams.MATCH_PARENT
        )
    }
    findViewById<ViewGroup>(R.id.emoji_picker_layout).addView(emojiPickerView)
  1. 선택한 그림 이모티콘을 EditText에 추가하려면 setOnEmojiPickedListener()를 사용합니다.

      emojiPickerView.setOnEmojiPickedListener {
          findViewById<EditText>(R.id.edit_text).append(it.emoji)
      }
    
  2. 원하는 경우 RecentEmojiProvider를 설정합니다. 구현 예는 샘플 앱을 참고하세요.

  3. 원하는 경우 스타일을 맞춤설정합니다. 자체 스타일을 만들어 일반적인 테마 속성을 재정의하고 EmojiPickerView에 스타일을 적용합니다. 예를 들어 colorControlNormal를 재정의하면 카테고리 아이콘 색상이 변경됩니다.

      <style name="CustomStyle" >
          <item name="colorControlNormal">#FFC0CB</item>
      </style>
      <androidx.emoji2.emojipicker.EmojiPickerView
          android:id="@+id/emoji_picker"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:theme="@style/CustomStyle"
          app:emojiGridColumns="9" />
    

구현 예는 샘플 앱을 참고하세요.

전체 API 노출 영역은 여기에서 확인할 수 있습니다.

샘플 앱

샘플 앱은 기본적인 사용 사례와 다음 추가 시나리오를 보여줍니다.

  • emojiGridRowsemojiGridColumns가 재설정되었기 때문에 뷰의 레이아웃이 다시 조정되었습니다.
  • 최근 그림 이모티콘 제공자가 재현 빈도별로 정렬되도록 재정의됩니다.
  • 스타일 맞춤설정

API 변경사항

그림 이모티콘 선택 도구 라이브러리가 다음과 같은 새로운 API를 포함하도록 업데이트되었습니다.

  • 클릭 가능한 가로 헤더가 있는 세로 스크롤 가능 뷰에 최신 그림 이모티콘을 제공하는 EmojiPickerView 클래스
  • XML 속성 emojiGridColumnsemojiGridRows 또는 setEmojiGridColumns()setEmojiGridRows() 메서드를 통해 그림 이모티콘 선택 도구 그리드의 열과 행 수를 설정하는 기능
  • setOnEmojiPickedListener() 메서드를 통해 그림 이모티콘을 선택한 리스너를 설정하는 기능 사용자가 그림 이모티콘을 클릭할 때마다 리스너에게 알림이 전송됩니다.
  • setRecentEmojiProvider() 메서드를 통해 최근 그림 이모티콘 제공자를 제공하는 기능 이는 선택적 함수입니다. 최근 그림 이모티콘 제공자가 설정되지 않은 경우 라이브러리에서 기본 최근 그림 이모티콘 제공자를 사용합니다. 기본 동작은 다음과 같이 정의됩니다.
    • 선택한 모든 그림 이모티콘은 공유 환경설정에 앱별로 저장됩니다.
    • 선택 도구에서 최대 3개 행의 중복 제거된 그림 이모티콘을 역순으로 표시합니다.
  • 표시된 그림 이모티콘과 그림 이모티콘 변형을 저장하는 EmojiViewItem 클래스
  • 최근 그림 이모티콘 목록을 제공하기 위해 구현할 수 있는 RecentEmojiProvider 인터페이스 recentEmojiProvider는 '최근 사용' 카테고리에 그림 이모티콘을 표시한 제공자입니다.
  • RecentEmojiAsyncProvider 인터페이스: 최근 그림 이모티콘 목록을 제공하기 위해 구현할 수 있습니다. RecentEmojiAsyncProvider는 '최근 사용' 카테고리에 그림 이모티콘을 표시한 제공자입니다. 이 인터페이스는 클라이언트가 getRecentEmojiListAsync() 메서드를 재정의하여 최근 그림 이모티콘을 제공할 수 있는 RecentEmojiProvider와 같습니다.
  • RecentEmojiProviderAdapter 클래스: RecentEmojiAsyncProvider의 어댑터이며 RecentEmojiProvider를 구현합니다.

버전 1.4.0-alpha01

2023년 3월 22일

androidx.emoji2:emoji2-*:1.4.0-alpha01이 출시되었습니다. 버전 1.4.0-alpha01에 포함된 커밋을 확인하세요.

버그 수정

  • 테스트를 수정하고 불안정한 테스트를 사용 중지하고 정리합니다.

버전 1.3

버전 1.3.0

2023년 3월 22일

androidx.emoji2:emoji2-*:1.3.0이 출시되었습니다. 버전 1.3.0에 포함된 커밋을 확인하세요.

1.2.0 이후 중요 변경사항

  • 이 버전을 사용하면 Compose Foundation 1.4.0 이상에서 그림 이모티콘2 통합을 사용 설정할 수 있습니다.
  • 또한 EmojiSpans를 맞춤 그리기 코드로 대체하는 기능과 Android에 정의된 그림 이모티콘 제외를 지원합니다.

버전 1.3.0-rc01

2023년 3월 8일

androidx.emoji2:emoji2-*:1.3.0-rc01이 출시되었습니다. 버전 1.3.0-rc01에 포함된 커밋을 확인하세요.

새로운 기능

  • 이 버전은 emoji2 Compose 통합을 지원합니다.

API 변경사항

  • 맞춤 그리기 코드의 스팬을 대체합니다.
  • 시스템 제외를 쿼리할 수 있습니다.

버그 수정

  • EmojiSopans 뒤에 백그라운드 스팬이 올바르게 적용되지 않는 버그를 수정했습니다.

버전 1.3.0-beta03

2023년 2월 23일

androidx.emoji2:emoji2-bundled:1.3.0-beta03, androidx.emoji2:emoji2-views:1.3.0-beta03androidx.emoji2:emoji2-views-helper:1.3.0-beta03이 출시되었습니다.

2023년 2월 22일

androidx.emoji2:emoji2:1.3.0-beta03이 출시되었습니다. 버전 1.3.0-beta03에 포함된 커밋을 확인하세요.

새로운 기능

  • 변경사항이 없습니다. 이 버전은 Compose 통합을 준비하기 위한 버전입니다.

버전 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 동작을 맞춤 그리기 및 크기 조절 코드로 대체하는 새로운 API EmojiCompat.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의 인스턴스를 래핑하지 않으므로 TextViewNumberKeyListeners에서 언어를 올바르게 구성할 수 있습니다. (Ibf113, b/207119921)

1.0

버전 1.0.1

2021년 12월 15일

androidx.emoji2:emoji2-*:1.0.1이 출시되었습니다. 버전 1.0.1에 포함된 커밋을 확인하세요.

버그 수정

  • Emoji2NumberKeyListener의 인스턴스를 래핑하지 않으므로 TextView에서 언어를 구성할 수 있습니다.
  • Appcompat이 setKeyListener에 전달된 NumberKeyListener의 인스턴스를 래핑하지 않으므로 TextViewNumberKeyListeners에서 언어를 올바르게 구성할 수 있습니다. (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 변경사항

  • setLoadingExecutorFontRequestEmojiCompatConfig에 추가했습니다. setHandler의 이전 API를 대체합니다. 이 API를 사용하면 앱에서 FontRequestEmojiCompatConfig를 구성하여 모든 백그라운드 실행기를 사용할 수 있습니다.

    이 변경사항은 androidx.emoji:emoji의 브레이킹 체인지이므로 이전을 돕기 위해 setHandler는 지원 중단된 무작동 API로 유지됩니다. (I6cd48)

  • EmojiCompat이 Android 11에서 EditorInfo.extras를 올바르게 설정합니다.

    • EditText를 서브클래스로 분류하지 않는 IME를 사용하는 맞춤 위젯이 EmojiCompat.updateEditorInfo를 호출하여 IME에 EmojiCompat 처리를 지원한다고 알릴 수 있습니다. (I1ea9b)

버그 수정

  • 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에 포함된 커밋을 확인하세요.

새로운 기능

이 버전은 버그 수정 및 안정화 버전입니다.

  1. 이제 EmojiEditTextHelper가 null을 KeyListener로 전달하도록 허용합니다. 이를 통해 EditText 구현을 지원하는 그림 이모티콘에 null이 적용되도록 허용하는 플랫폼 동작이 가능합니다.
  2. 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.onCreateActivity.onCreate를 실행할 수 있고 앱 시작 직후 그림 이모티콘 글꼴이 로드되도록 합니다. (I4bff7)

버전 1.0.0-alpha02

2021년 6월 2일

androidx.emoji2:emoji2:1.0.0-alpha02, androidx.emoji2:emoji2-views:1.0.0-alpha02androidx.emoji2:emoji2-views-helper:1.0.0-alpha02가 출시되었습니다. 버전 1.0.0-alpha02에 포함된 커밋을 확인하세요.

API 변경사항

  • emoji2-views-helper의 패키지 이름이 androidx.emoji2.viewsintegration으로 바뀌었습니다. 이는 AppCompat 1.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-alpha01androidx.emoji2:emoji2-views-helper:1.0.0-alpha01이 출시되었습니다. 버전 1.0.0-alpha01에 포함된 커밋을 확인하세요.

이번 최초 출시의 기능

모든 앱에서 API19의 최신 그림 이모티콘을 지원하도록 emojicompat를 통합하는 것이 좋습니다. 앱의 모든 사용자 제작 콘텐츠에는 🎉이 포함되어 있습니다.

이제 alpha01에서는 EmojiCompat가 androidx.emoji 아티팩트에서 새로운 androidx.emoji2로 이동했습니다. 새 아티팩트가 이전 버전을 대체합니다.

emoji2AppCompat 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를 사용하는 앱은 EmojiTextViewemoji2-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)에서 가져와 추가로 구성할 수 있습니다.