【问题标题】:After updating targetSDK to 28 ,Snackbar is giving error?更新 targetSDK 到 28 后,Snackbar 报错?
【发布时间】:2019-07-05 06:54:56
【问题描述】:

将我的targetSDK 版本更新到 28 后,我无法使用 SnackBar

必须是 BaseTransientBottomBar.LENGTH_INDEFINITE 之一, BaseTransientBottomBar.LENGTH_SHORT, BaseTransientBottomBar.LENGTH_LONG 或值必须 ≥ 1(为 -2) 少... 检查信息:确保仅当方法中的参数 允许一组特定的常量,调用遵循这些规则。

这是我所做的 -

Snackbar snackbar = Snackbar.make(Objects.requireNonNull(parentLayout), "Kindly allow all the permissions for  App  for a better  experience...", Snackbar.LENGTH_LONG);
 snackbar.setDuration(Snackbar.LENGTH_INDEFINITE);
 snackbar.show();

【问题讨论】:

  • 我无法理解您已经在 make 方法中将持续时间值作为第三个参数赋予小吃栏,而不是为什么要再次赋予它?

标签: android sdk android-snackbar


【解决方案1】:

阅读setDuration

snackbar.setDuration(int duration);

设置显示视图的时间。你应该试试

snackbar.setDuration(10000);

【讨论】:

  • 它正在工作,但是在接受设置的持续时间之前 Snackbar.LENGTH_INDEFINITE 发生了什么。
  • @creativecoder LENGTH_INDEFINITE 将无限期地显示 Snackbar。如果你使用LENGTH_LONG会更好。
  • @creativecoder 哦,在这种情况下使用硬编码的 int 值。
【解决方案2】:

将材料从 'com.google.android.material:material:1.0.0' 升级到版本 'com.google.android.material:material:1.1.0' 为我解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-04
    • 1970-01-01
    • 2021-01-31
    • 2020-02-22
    相关资源
    最近更新 更多