我已经实现了自定义工具栏,它运行良好,我想要的是当我点击任何地方时,工具栏会隐藏然后再次点击它会显示,我通过以下代码实现了它。但现在唯一的问题是,如果我滚动我的recycleView ,工具栏将其视为触摸并再次隐藏并显示在滚动上,我不希望它发生,请帮助。
我正在使用Android Studio 还有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;
}
});
答案 0 :(得分:0)
在您的活动中:
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执行相同的操作。