WebView的向左向右滑动事件

摁下WebView然后再向左向右滑动,向左滑动显示上一条公告,向右滑动显示下一条公告。

在继承Activity时,同时实现接口OnTouchListener,覆盖其中的方法onTouch:

public boolean onTouch(View v, MotionEvent event) {
	if(event.getAction() == MotionEvent.ACTION_DOWN){
		xDown = event.getX();
		yDown = event.getY();
	}
	else if(event.getAction() == MotionEvent.ACTION_UP){
		xUp = event.getX();
		yUp = event.getY();
		if(xUp - xDown < -30){
			// 向左滑动
			//Toast.makeText(this, "向左滑动,滑动位移"+(xUp-xDown), Toast.LENGTH_SHORT);
			mWebView.loadUrl("file:///android_asset/notice01.html");
		}else if(xUp - xDown > 30){
			// 向右滑动
			//Toast.makeText(this, "向右滑动,滑动位移"+(xUp-xDown), Toast.LENGTH_SHORT);
			mWebView.loadUrl("file:///android_asset/notice02.html");
		}
	}
	return false;
}

float xDown, yDown, xUp, yUp;

 其中onTouchEvent的主要原理:

按下的时候记录坐标(用到MotionEvent.ACTION_DOWN),然后滑动(MotionEvent.ACTION_MOVE),然后在抬起(MotionEvent.ACTION_UP),在抬起的时候在记录坐标,把按下的坐标和抬起的坐标做比较,这样就能判断出是左还是右了,然后作出相应的处理。

你可能感兴趣的:(html,android,公告,UP)