gpt4 book ai didi

android-toast - 为什么在 Android 12 APi 31 上安装应用时 toasts 会被截断

转载 作者:行者123 更新时间:2023-12-05 03:33:07 25 4
gpt4 key购买 nike

文档指出,在针对 Android 12 或更高版本的应用程序上,Toasts 被截断为两行。我观察到的行为是,在运行 Android 12 或更高版本的设备上安装的应用程序上,Toasts 被截断为两行。

具体来说,我的一个应用程序是在我的手机更新到 Android 12 之前安装的,它的 toasts 没有被截断,但是如果我将它安装在运行 Android 12 的模拟器上,它的 toasts 被截断.在我的手机更新到 Android 12 之后,我重建并安装了另一个应用程序,它的 toasts 被截断了。

[已添加] 情况实际上似乎更复杂:行为还取决于设备,显然还取决于它是调试版本还是发布版本。截断 toasts 的同一个应用程序在我的手机上使用发布版本正确显示它们,但在模拟器上使用相同发布版本截断它们。

请注意,这与 70307699 不是同一个问题OP 将他的 targetSdk 更新为 31。我的两个应用程序都将 targetSdk 设置为小于 31。

我怎样才能获得记录的行为并取回我的 toast ?

最佳答案

Android 平台团队并没有完全弃用 toasts,而是逐渐降低它们的用处,这是一种弃用形式。

https://developer.android.com/reference/android/widget/Toast

最后一句话指出:从 Android 12(API 级别 31)开始,以 Android 12 或更高版本为目标平台的应用程序的 toast 将限制为两行。

展望 future ,如果我需要多行消息,我将亲自使用 Snackbars。

val SNACKBAR_MAX_LINES = 8 // Increase maximum SnackBar line limit above 2
val snackbar = Snackbar.make(bottomNavigationView, "message", Snackbar.LENGTH_SHORT)
(snackbar.view.findViewById(com.google.android.material.R.id.snackbar_text) as TextView)
.run {
maxLines = SNACKBAR_MAX_LINES
}

snackbar.show()

关于android-toast - 为什么在 Android 12 APi 31 上安装应用时 toasts 会被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70370186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com