我已经实现了自定义的工具栏,它运行得很好,我想要的是当我在屏幕上点击anywhere时,工具栏得到隐藏的,在再次点击时得到显示的,我通过下面的代码实现了它。但是现在唯一的问题是,如果我在上滚动我的recycleView,工具栏会把它当作触摸,然后再次隐藏并显示在卷轴上,我不希望它发生,请帮助。
我正在使用Android,并且在其中使用RecycleView + FrameLayout
mrecyclerView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
if (getSupportActionBar().isShowing()) {
getSupportActionBar().hide();
} else {
getSupportActionBar().show();
}
return true;
} else return false;
}
});
发布于 2017-07-22 08:55:04
在你的活动中:
mrecyclerView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
if (getSupportActionBar().isShowing()) {
getSupportActionBar().hide();
} else {
getSupportActionBar().show();
}
return true;
} else return false;
}
});
在上面的触摸监听器之后添加以下内容
mrecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
getSupportActionBar().show();
super.onScrolled(recyclerView, dx, dy);
}
});
并在此之后对setOnFlingListener进行同样的操作。
https://stackoverflow.com/questions/45255633
复制相似问题