android - 如何在 Jetpack Compose 中显示 Emoji?

标签 android android-jetpack-compose emoji android-jetpack-compose-text

无法使用 Jetpack Compose 正确显示表情符号。

代码

    Text(
        text = data.emoji.character,
        textAlign = TextAlign.Center,
        fontSize = 28.sp,
    )
Jetpack Compose text

在使用 Compose Text 时,我遇到了兼容性问题。
bean 腐和多个表情符号按说明出现 here .

为了解决这个问题,我尝试在 AndroidView 中使用 AppCompatTextView

代码

    AndroidView(
        factory = { context ->
            AppCompatTextView(context).apply {
                text = data.emoji.character
                textSize = 28F
                textAlignment = View.TEXT_ALIGNMENT_CENTER
            }
        },
    )

它显示表情符号没有任何兼容性问题,但表情符号淡出。

最佳答案

我找到了 this issue ,这可能与您的 Text 问题有关。

对于AppCompatTextView,它有默认的半透明文本颜色。使用 alpha 1f 设置任何颜色都可以解决问题:

AppCompatTextView(context).apply {
    setTextColor(Color.Black.toArgb())
    text = "🥰 hello"
    textSize = 28F
    textAlignment = View.TEXT_ALIGNMENT_CENTER
}

关于android - 如何在 Jetpack Compose 中显示 Emoji?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70903309/

相关文章:

android - 上传到 Google Play 商店时为应用程序启用 GCM

android - 如何在 Android 中从全名中拆分名字和姓氏字符串

android - 如何防止 Jetpack Compose ExposedDropdownMenuBox 在滚动时显示菜单

android - 如何将屏幕分成两个区域,同时在中心有一个表格?

javascript - 使表情符号更大并与文本对齐。

java - 将 Emoji 从 EditText 发送到服务器

android - Jetpack Compose 列中的 fillViewPort 行为

Android TextView 文本对齐

android - Jetpack 撰写 : How to detect what is causing a Composable to recompose

Android WebView 不渲染 emoji U+1F642, U+1F917