그림 이모티콘 선택 도구

그림 이모티콘 선택 도구는 현대적인 디자인과 최신 그림 이모티콘, 사용 편의성을 제공하는 UI 솔루션입니다. 사용자는 그림 이모티콘과 그 변형을 둘러보고 선택하거나 최근에 사용한 그림 이모티콘에서 선택할 수 있습니다.

그림 1. 그림 이모티콘 선택 도구

이 라이브러리를 사용하면 다양한 소스의 앱이 사용자에게 포용적이고 통합된 그림 이모티콘 환경을 제공할 수 있으므로 개발자가 고유한 그림 이모티콘 선택 도구를 처음부터 빌드하고 유지관리할 필요가 없습니다.

기능

최신 그림 이모티콘

새로 출시된 그림 이모티콘은 그림 이모티콘 선택 도구에 선택적으로 포함됩니다. 그림 이모티콘 선택 도구 라이브러리는 여러 Android 버전 및 기기에서 호환됩니다.

고정 대안

그림 이모티콘을 길게 누르면 다양한 성별이나 피부색과 같은 변형 메뉴를 표시할 수 있습니다. 선택한 변형은 그림 이모티콘 선택 도구에 저장되고 마지막으로 선택한 변형이 기본 패널에 사용됩니다.

이 기능을 사용하면 사용자는 탭 한 번으로 선호하는 이모티콘 변형을 전송할 수 있습니다.

그림 이모티콘 변형
그림 2. 그림 이모티콘 변형

최근 그림 이모티콘

최근 그림 이모티콘
그림 3. 최근 그림 이모티콘

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

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

이 기본 동작으로 충분하면 setRecentEmojiProvider()를 사용할 필요가 없습니다.

그러나 제공자 동작을 맞춤설정해야 할 수도 있습니다. 다음은 몇 가지 일반적인 시나리오입니다.

  • 사용자 계정별로 선택한 이모티콘을 다르게 저장하려고 합니다.
  • 공유 환경설정 이외의 데이터 스토리지를 사용하려고 합니다.
  • 빈도순으로 정렬된 최근 그림 이모티콘을 표시하려고 합니다.

그런 다음 RecentEmojiProvider 인터페이스를 구현하고 setRecentEmojiProvider()를 사용하여 설정할 수 있습니다.

EmojiCompat과(와)의 호환성

사용 설정하면 그림 이모티콘 선택 도구에서 EmojiCompat 인스턴스를 사용하여 가능한 한 많은 그림 이모티콘을 렌더링합니다. 그러나 그림 이모티콘 선택 도구에는 EmojiCompat가 필요하지 않습니다.

기본 요건

앱이 Android 5.0 (API 수준 21) 이상을 타겟팅해야 합니다.

라이브러리 사용

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

    dependencies {
        implementation "androidx.emoji2:emojipicker:$version"
    }
    
  2. 그림 이모티콘 선택 도구 뷰를 확장하고 필요한 경우 emojiGridRowsemojiGridColumns를 설정합니다.

    • emojiGridColumns의 기본 수는 9입니다.
    • 행 수는 상위 뷰 높이와 emojiGridColumns 값을 기준으로 계산됩니다.
    • 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)
    
  3. setOnEmojiPickedListener()를 사용하여 선택한 이모티콘을 뷰에 추가합니다. 예를 들어 EditText에 추가하려면 다음을 실행합니다.

    emojiPickerView.setOnEmojiPickedListener {
        findViewById<EditText>(R.id.edit_text).append(it.emoji)
    }
    
  4. 필요한 경우 RecentEmojiProvider를 설정하고 샘플 앱에서 구현 예를 확인하세요.

  5. 원하는 경우 스타일을 맞춤설정합니다. 자체 스타일을 만들어 공통 테마 속성을 재정의하고 스타일을 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" />
    

샘플 앱

그림 이모티콘 선택 도구 샘플 앱에서는 다음 추가 시나리오와 함께 기본 사용 사례를 보여줍니다.

  • emojiGridRows 또는 emojiGridColumns가 재설정되면 레이아웃 다시 계산
  • 빈도별로 정렬되는 재정의된 최근 그림 이모티콘 제공자
  • 추가적인 스타일 맞춤설정