安卓(kotlin)TextView显示emoji

叻妮

有一天收到用户的反馈,用户名带有emoji显示不出来。之前开发的时候确实没考虑到emoji的问题。识别emoji,安卓官方是介绍了EmojiCompat支持库,它能够让Android设备及时兼容最新的表情符号。那么废话不多说,怎么使用它呢?
1.打开应用的 build.gradle 文件
2.将支持库添加到 dependencies 部分,这会让最终打包的apk大一些。

dependencies {
        ...
        implementation "com.android.support:support-emoji:26.0.0"
    implementation "com.android.support:support-emoji-appcompat:26.0.0"
    implementation "com.android.support:support-emoji-bundled:26.0.0"
    }

3.然后初始化EmojiCompat,在onCreate时调用它

    private fun initEmojiCompat() {
        val config: EmojiCompat.Config
        config = BundledEmojiCompatConfig(context!!)
        config.setReplaceAll(true)
        EmojiCompat.init(config)
    }

4.之后在xml使用它

 <androidx.emoji.widget.EmojiAppCompatTextView
                        android:id="@+id/user_name"
                    android:layout_width="wrap_content"
                        android:maxWidth="100dp"
                   android:layout_height="wrap_content"
                        android:text="您尚未登录"
                        android:maxHeight="40dp"
                        android:textColor="#747781"
                        android:textSize="15dp"
                        tools:layout_width="100dp"
                        android:textStyle="bold"
                        />

5.动态设置username

userName.text = UserManager.userInfo.name // 当name包含emoji的时候就能正常显示了。

更具体的一下设置,可以查看官方文档

阅读 2.7k

在coding的海洋潜水

4 声望
2 粉丝
0 条评论

在coding的海洋潜水

4 声望
2 粉丝
文章目录
宣传栏