SnackBar被其他视图遮挡

3

我正在尝试在我的活动中显示一个Snackbar,但是它被显示在其他视图的后面。如何将其显示为顶部视图?

Snackbar snack = Snackbar.make(referenceView, referenceView.getContext().getString(messageId), showLength);
snack.show();

referenceView就是在同一个活动中的标签。

enter image description here

1个回答

1
请确保你的 referenceViewCoordinatorLayout 的实例,否则 Snackbar 将会锚定到系统视图。
根据 Snackbar 文档 关于 view 参数的说明:

Snackbar 会尝试从给定的值中找到一个父级视图来容纳 Snackbar 的视图。Snackbar 会沿着视图树向上查找一个合适的父级视图,这个父级视图被定义为 CoordinatorLayout 或者窗口装饰的内容视图,以先找到的为准。


此活动中没有 CoordinatorLayout 元素。 - Raj
1
然后,您仍然可以使用CoordinatorLayout来包围整个布局,这样您的Snackbar就会出现在它应该出现的位置,而无需再触碰任何代码。 - Leo supports Monica Cellio
这个回答解决了你的问题吗?如果是,请接受我的答案。谢谢。 - Leo supports Monica Cellio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接