解决scrollview不滑动的问题
scrollview 使用setOnTouchListener后停止滑动:
解决办法:
?
一、
int touchY = 0;private boolean isScoll ;private void scrollView() {behavorLayout.setOnTouchListener(new OnTouchListener() {private int lastY = 0;private int touchEventId = -9983761;Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);View scroller = (View) msg.obj;if (msg.what == touchEventId) {if (lastY == scroller.getScrollY()) {handleStop(scroller);} else {handler.sendMessageDelayed(handler.obtainMessage(touchEventId, scroller), 1);lastY = scroller.getScrollY();}}}};@Overridepublic boolean onTouch(View v, MotionEvent event) {isScoll = false;int eventAction = event.getAction();int y = (int) event.getRawY();switch (eventAction) {case MotionEvent.ACTION_UP:if (Math.abs(touchY - y) < 20) {} else {handler.sendMessageDelayed(handler.obtainMessage(touchEventId, v), 5);}break;default:break;}return false;}private void handleStop(Object view) {this.finish(); //添加处理的代码 }});}?解决办法二、
public ScrollView scrollView; private int scrollViewY; scrollView = (ScrollView)findViewById(R.id.viewStatusDetailSV); scrollView.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_UP) { /** 滑动到顶部和底部做处理 **/ if (scrollView.getScrollY() == 0) { Toast.makeText(context, "到达顶部了", Toast.LENGTH_SHORT).show(); } else if (scrollView.getScrollY() - scrollViewY < 2 && scrollView.getScrollY() >= scrollViewY) { Toast.makeText(context, "到达底部了" + scrollView.getScrollY(), Toast.LENGTH_SHORT).show(); } else { scrollViewY = scrollView.getScrollY(); } //添加处理的代码 } return false; } });?