Android支持库Snackbar,长度不确定

Sim*_*mon 25 android snackbar

我看到Snackbar在确定屏幕显示的长度时只会采用LENGTH_LONG或LENGTH_SHORT.

我想让它显示,直到有人从屏幕上滑动它.这适用于某些情况,当您遇到持续性错误时,例如当您没有互联网时,并且您希望在2750ms之后选择LENGTH_LONG时通知用户而不会使其从屏幕上消失.

当然我可以将setDuration用于一个可笑的长毫秒值,但是没有办法只是设置它以便它不会消失直到用户解雇它?

Dan*_*Dan 56

最新版本的Android支持库(22.2.1)现在包括LENGTH_INDEFINITE.

以下将显示Snackbar,直到它被解除或显示另一个Snackbar.

Snackbar.make(view, "Your Snackbar", Snackbar.LENGTH_INDEFINITE)
        .setAction("Your Action", null).show();
Run Code Online (Sandbox Code Playgroud)


Bre*_*ntM 10

更新:如前所述,现在可以通过Android支持库22.2.1的发布,使用LENGTH_INDEFINITE标志

使用Android设计支持库中的官方实现时,无法设置Snackbar的无限期显示.

虽然这样做可能违反了Snackbar的Material Design理念,但是第三方Snackbar实现确实允许这样做.这是一个例子:

https://github.com/nispok/snackbar

此项目允许显示持续时间的以下值:

LENGTH_SHORT: 2s
LENGTH_LONG: 3.5s (default)
LENGTH_INDEFINTE: Indefinite; ideal for persistent errors
Run Code Online (Sandbox Code Playgroud)

请注意,由于官方Snackbar实施的发布,该项目已不再开发.