Android渲染emoji的问题
创始人
2024-10-12 18:31:29
0
  1. 使用替代字体: 可以使用内置的 NotoColorEmoji 字体来显示 emoji。只需在 TextView 或 Button 上使用以下内容即可:
android:textSize="24sp"
android:textColor="#424242"
android:typeface="sans-serif"
android:fontFamily="sans-serif-medium,noto-color-emoji"
  1. 使用 Spannable: 将 emoji 显示在 Spannable 中,可以使用 EmojiCompat 替代系统默认的 emoji 字体。首先要在 build.gradle 中引入依赖:
implementation "androidx.emoji:emoji-appcompat:1.1.0"

然后,就可以在代码中使用 Spannable 来显示 emoji 了:

// 初始化 EmojiCompat
if (!EmojiCompat.get().initialized) {
    EmojiCompat.init(BUNDLED, object : EmojiCompat.InitCallback() {
        override fun onInitialized() {
            Log.i(TAG, "EmojiCompat initialized")
        }
        override fun onFailed(throwable: Throwable?) {
            Log.e(TAG, "EmojiCompat initialization failed", throwable)
        }
    })
}

// 创建一个 Spannable
val text = "This is a smiley face �"
val spannable = SpannableString.valueOf(text)

// 在文本中插入 emoji
val emojiStart = text.indexOf("�")
if (emojiStart != -1) {
    val drawable = EmojiCompat.get().getDrawable("�")
    if (drawable != null) {
        drawable.setBounds(0, 0, 32, 32) // 设置图片大小
        val span = ImageSpan(drawable, ImageSpan.ALIGN_BOTTOM)
        spannable.setSpan(span, emojiStart, emojiStart + 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
    }
}

// 显示 Spannable
textView.text = spannable

相关内容

热门资讯

透视透视"聚星ai辅... 透视透视"聚星ai辅助工具激活码"详细辅助系统教程(辅助器是真的技巧)是一款可以让一直输的玩家,快速...
透视讲解"wepok... 透视讲解"wepokerplus万能挂"详细辅助透明教程(透视有用方法)1、许多玩家不知道wepok...
透视讲解"wepok... 透视讲解"wepoker黑侠辅助器正版下载"详细辅助高科技教程(好友助力码方法)准备好在wepoke...
透视辅助"德州私人局... 透视辅助"德州私人局脚本"详细辅助2025新版技巧(可以买辅助技巧);1.德州私人局脚本 ai辅助创...
透视存在"哈糖大菠萝... 1、透视存在"哈糖大菠萝可以开挂吗"详细辅助力荐教程(买脚本靠谱教程)2、进入游戏-大厅左侧-新手福...
透视计算"智星德州插... 《透视计算"智星德州插件2024最新版"详细辅助新2025版(可以破解游戏教程)》 智星德州插件20...
透视了解"xpoke... 透视了解"xpoker辅助器"详细辅助透牌教程(有机器人教程);1.xpoker辅助器 ai辅助创建...
透视好友房"wepo... 透视好友房"wepoker模拟器哪个"详细辅助2025新版总结(可以开辅助神器);建议优先通过wep...
透视玄学"wpk透视... 透视玄学"wpk透视插件"详细辅助专业教程(买脚本靠谱透明)关于wpk透视插件机制的,其中提到了后台...
透视辅助"aapok... 透视辅助"aapoker怎么选牌"详细辅助插件教程(私人局有透视攻略)关于aapoker怎么选牌机制...