android-如何在用户执行任何操作时关闭Snackbar?
作者:互联网
我可以像这样展示小吃吧.
Snackbar snackbar = Snackbar.make(this.findViewById(android.R.id.content), "snackbar", Snackbar.LENGTH_INDEFINITE)
.setAction("action", new View.OnClickListener() {
@Override
public void onClick(View v) {
// ...
}
});
snackbar.show();
我的小吃店有不确定的长度,我想要.但是,当用户执行任何操作(例如,滚动屏幕或触摸屏/视图)时,我想关闭快餐栏.我可以找到一些库和代码,但它们是如此复杂.有没有简单的方法来解开小吃吧?
解决方法:
我假设您正在使用片段,因此您可以将onTouchListener设置为片段的主布局,并将其放置在Snackbar.dismiss()中.
如果您只想在滚动时关闭,请设置一个onScrollListener并在事件中关闭小吃栏,这是recyclerview onScroll的一个实现:
list.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
if (dy > 0)
snackbar.dismiss();
}
});
标签:snackbar,dismiss,android,indefinite 来源: https://codeday.me/bug/20191027/1944439.html