kotlin 如何在jetpack compose中更改吐司消息的默认图标?

jgzswidk  于 2022-12-13  发布在  Kotlin
关注(0)|答案(1)|浏览(396)

我有一个吐司消息在我的代码,它显示当用户输入空字典名称,但有一个问题,我toast显示一个默认的android图标,我不想要这个消息。我如何改变这个图标或删除在jetpack合成Kotlin?
这是屏幕截图。

“倾听是我的准则"

fun updateDictionary(context: Context, dictionaryName: String): Boolean {

        if (dictionaryName.isEmpty()) {
            Toast.makeText(context, "Please Enter The Dictionary Name !", Toast.LENGTH_LONG).show()

            return false
        }

        val dictionary = OwnDicEntity(dictionaryName, dicCreationTime ?: "", dicId)
        updateDicUseCase.updateDic(dictionary)

        return true

    }

如果我想更新字典,我进入更新屏幕,这个功能被触发,如果我输入空字典名称,我必须写update dictionary name。它显示我上面写的吐司消息。
我返回一个布尔值,true和false,这样当我输入一个空值时它不会更新。

dced5bon

dced5bon1#

从Android 12开始,你无法控制Toast的外观a-你只能看到两行文本和应用图标,这样用户就知道Toast是从哪里来的了。(Android 11仍然允许自定义视图,但只适用于前台的应用。)
如果您想 * 更改 * 图标,您需要为您的应用添加一个新图标-您看到的图标是新项目的默认ic_launcher drawable。Some info about that here
如果你想 * 移除 * 这个图标,你不能!因为你似乎在自己的应用中将其显示为一个弹出窗口,你可能需要考虑一个Snackbar,或者在文本字段中设置错误提示,或者在UI中创建一个区域专门显示任何错误(例如,如果有多个组件需要验证,并且你希望在一个位置显示错误状态)。

相关问题