【问题标题】:Snackbar is shown behind button in Android kotlinSnackbar 显示在 Android kotlin 中的按钮后面
【发布时间】:2021-12-31 10:22:05
【问题描述】:
我试图在没有上下文的情况下显示快餐栏,但它隐藏在系统 UI 按钮后面,那么该怎么做呢?
代码:
Snackbar.make(this.vie, message, Snackbar.LENGTH_SHORT)
.setBackgroundTint(resources.getColor(R.color.blue, null)).show()
提前致谢。
【问题讨论】:
标签:
android
kotlin
android-snackbar
【解决方案1】:
您的窗口是否设置为无限制(可能是为了支持透明导航栏)?如果是这样,我想现在删除那段代码可以解决问题。
【解决方案2】:
例如,您可以使用setAnchorView 方法定义视图,根据这些视图对齐您的snackBar。下面是一些示例:
Snackbar snackbar = Snackbar.make(view,"Snackbar over BottomNav",Snackbar.LENGTH_INDEFINITE);
snackbar.setAnchorView(bottomNavigationView);
snackbar.show();
setLayoutParams 也很有用:
Snackbar snack = Snackbar.make(findViewById(R.id.coordinatorLayout),
"Your message", Snackbar.LENGTH_LONG);
CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams)
snack.getView().getLayoutParams();
params.setMargins(leftMargin, topMargin, rightMargin, bottomBar.height);
snack.getView().setLayoutParams(params);
snack.show();