mListView.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
View view2 = findViewById(R.id.bottom_bar);
// 记录点击时 y 的坐标
int y = (int) event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// 第一次点击是 ACTION_DOWN 事件,把值保存起来
mMotionY = y;
break;
case MotionEvent.ACTION_MOVE:
// 当你滑动屏幕时是 ACTION_MOVE 事件,在这里做逻辑处理
// (y - mMotionY) 的正负就代表了 向上和向下
if ((y - mMotionY) > 0) {
if (view2.getVisibility() == View.GONE) {
view2.setVisibility(View.VISIBLE);
}
} else {
if (view2.getVisibility() == View.VISIBLE) {
view2.setVisibility(View.GONE);
}
}
mMotionY = y;
break;
}
return false;
}
});