摁下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),在抬起的时候在记录坐标,把按下的坐标和抬起的坐标做比较,这样就能判断出是左还是右了,然后作出相应的处理。