2

我正在用新的 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();

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

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

4

3 回答 3

4

Snackbars 是布局的一部分。如果您立即转换到另一个活动,那么您可能应该继续使用 Toast 消息,或者

  • 如果您正在完成活动并返回上一个活动,请从活动中获取结果,以便新显示的活动可以显示 Snackbar
  • 向您的新 Activity 发送额外或特殊的 Intent,以便它可以显示 Snackbar。
于 2015-06-03T18:23:50.623 回答
1

我建议创建包含像小吃店这样的 UI 的自定义吐司。例如:- https://stackoverflow.com/a/11288522/1384010

于 2015-06-03T18:30:41.337 回答
1

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

Snackbar.with(this,null)
    .type(Type.SUCCESS)
    .message("Profile updated successfully!")
    .duration(Duration.SHORT)
    .show();
于 2017-02-02T11:36:51.070 回答