有一天收到用户的反馈,用户名带有emoji显示不出来。以前开发的时候确实没考虑到emoji的问题。识别emoji,安卓官方是介绍了EmojiCompat支持库,它可以让Android设备及时兼容最新的表情符号。那么废话很少说,怎么使用它呢?
1.打开应用的 build.gradle 文件
2.将支持库添加到 dependencies 部分,这会让最终打包的apk大一些。android
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时调用它app
private fun initEmojiCompat() { val config: EmojiCompat.Config config = BundledEmojiCompatConfig(context!!) config.setReplaceAll(true) EmojiCompat.init(config) }
4.以后在xml使用它ide
<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.动态设置usernamegradle
userName.text = UserManager.userInfo.name // 当name包含emoji的时候就能正常显示了。
更具体的一下设置,能够查看官方文档ui