在 android 中单击除操作按钮以外的按钮时关闭快餐栏
closing a snackbar on clicking a button other than action button of it in android
我使用代码显示一个小吃店
Snackbar.make(rootView, mMessage, Snackbar.LENGTH_LONG)
.make(rootView, mMessage, Snackbar.LENGTH_INDEFINITE)
.setAction("Action", null)
.show();
此小吃店一直显示在屏幕上
我想做什么:
- 一旦它一直显示在屏幕上,如何在我点击时关闭它
在不同于小吃栏操作按钮的视图上
- 可以吗
您可以通过保留对该小吃店实例的引用来做到这一点:
val snackbar = Snackbar.make(rootView, mMessage, Snackbar.LENGTH_LONG)
.make(rootView, mMessage, Snackbar.LENGTH_INDEFINITE)
.setAction("Action", null)
.show();
现在,只要您想关闭它,只需调用 .dismiss()
,所以在您的情况下:
theOtherButton.setOnClickListener { snackbar.dismiss() }
mySnackbar = Snackbar.make(rootView, mMessage, Snackbar.LENGTH_LONG)
.make(rootView, mMessage, Snackbar.LENGTH_INDEFINITE)
.setAction("Action", null);
mySnackbar.show();
之后就可以了(在其他视图中onClickListener
):
mySnackbar.dismiss();
只需使用
yourSnackbar.dismiss();
You can surround with InkWell as:
SnackBar(
content: InkWell(
onTap: () {ScaffoldMessenger.of(context).hideCurrentSnackBar();},
我使用代码显示一个小吃店
Snackbar.make(rootView, mMessage, Snackbar.LENGTH_LONG)
.make(rootView, mMessage, Snackbar.LENGTH_INDEFINITE)
.setAction("Action", null)
.show();
此小吃店一直显示在屏幕上
我想做什么:
- 一旦它一直显示在屏幕上,如何在我点击时关闭它 在不同于小吃栏操作按钮的视图上
- 可以吗
您可以通过保留对该小吃店实例的引用来做到这一点:
val snackbar = Snackbar.make(rootView, mMessage, Snackbar.LENGTH_LONG)
.make(rootView, mMessage, Snackbar.LENGTH_INDEFINITE)
.setAction("Action", null)
.show();
现在,只要您想关闭它,只需调用 .dismiss()
,所以在您的情况下:
theOtherButton.setOnClickListener { snackbar.dismiss() }
mySnackbar = Snackbar.make(rootView, mMessage, Snackbar.LENGTH_LONG)
.make(rootView, mMessage, Snackbar.LENGTH_INDEFINITE)
.setAction("Action", null);
mySnackbar.show();
之后就可以了(在其他视图中onClickListener
):
mySnackbar.dismiss();
只需使用 yourSnackbar.dismiss();
You can surround with InkWell as:
SnackBar(
content: InkWell(
onTap: () {ScaffoldMessenger.of(context).hideCurrentSnackBar();},