用 Snackbar 替换 Toast 有时会显示足够长的时间

Replacing Toast with Snackbar sometimes does show for long enough

我正在用新 Android 设计支持库中的新 Snackbar 替换几个 Toast 消息。

旧代码:

Context context = getApplicationContext();
Toast.makeText(context, "Deleted...", Toast.LENGTH_LONG).show();

新代码:

View view = findViewById(android.R.id.content);
Snackbar.make(view, "Deleted...", Snackbar.LENGTH_LONG).show();

在大多数情况下,这工作正常,但我显示了几个祝酒词,然后它立即销毁 activity 并启动另一个 activity。 snackbar 在屏幕上显示的时间不够长,因为底层 activity 和视图被销毁得太快了。

正在寻找一些替代策略以使 Snackbar 的工作方式类似于 Toast。

小吃店是您布局的一部分。如果您要立即过渡到另一个 activity,那么您可能应该继续使用 Toast 消息或

  • 如果您正在完成 activity 并返回到之前的 activity,get a result from the activity 以便新显示的 activity 可以显示 Snackbar
  • 向您的新 Activity 发送额外或特殊的 Intent,以便它可以显示 Snackbar。

我建议创建包含 u.i 的自定义吐司,例如小吃店。 例如:-

你可以试试这个库。这是 android 默认小吃店的包装器。 https://github.com/ChathuraHettiarachchi/CSnackBar

Snackbar.with(this,null)
    .type(Type.SUCCESS)
    .message("Profile updated successfully!")
    .duration(Duration.SHORT)
    .show();