`

解决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() {
				@Override
				public 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();
						}
					}
				}
			};

			@Override
			public 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;  
    }  
});

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics