Android:通过升级 appcompat 支持现代表情符号

问题描述 投票:0回答:0

我正在尝试在我的应用程序中为 Android 10 及更低版本启用现代表情符号支持。 为此,我按照本指南将 appcompat 升级到版本 1.4.0https://developer.android.com/develop/ui/views/text-and-emoji/emoji2

然而,现代表情符号仍然没有出现。 我也已经在https://developer.android.com/develop/ui/views/text-and-emoji/emoji2#appcompat-displays-tofu中查看并验证了说明。

然后我尝试了第二种方法——直接包含 emoji2 依赖项并在我的布局中使用 androidx.emoji2.widget.EmojiTextView 而不是 AppCompatEditText。这本身不起作用。
但是,当我从清单中明确禁用 EmojiCompatInitializer 并在我的应用程序中初始化 EmojiCompat 时,它会起作用。即,

清单中:

         <provider
            android:name="androidx.startup.InitializationProvider"
            android:authorities="${applicationId}.androidx-startup"
            android:exported="false"
            tools:node="merge">
           <meta-data android:name="androidx.emoji2.text.EmojiCompatInitializer"
                tools:node="remove"/>
        </provider>

在我的创建活动中:

        val fontRequest = FontRequest(
            "com.google.android.gms.fonts",
            "com.google.android.gms",
            "Noto Color Emoji Compat",
            R.array.com_google_android_gms_fonts_certs
        )
        val config = context?.let { FontRequestEmojiCompatConfig(it, fontRequest) }
        if (config != null) {
            EmojiCompat.init(config)
        }

但这不是文档推荐的方法,因为它需要自定义初始化并在布局文件中使用显式 EmojiTextView。

有人可以帮我理解为什么只升级 appcompat 对我不起作用吗?

android android-appcompat emoji android-fonts
© www.soinside.com 2019 - 2024. All rights reserved.