用touchlistern实现图片滑动显示,基于SwitchImage

前段时间帮别人做外卖软件,其中就有早SwitchImage上滑动显示图片,在网上查了一些,有一个是ipmletement OnGestureListener 然后实现他的集中方法,其中有一个OnFilng 可以直接读取按下动作,还有结束动作,并且还可以读出滑动的速度,可以说是很好用的。

不过不知道说明原因,当时没有实现好,所以没有用它,而是改用了 OnTouchListener 这个接口,实现方式boolean OnTouch(view v,MouseEvent e) v是按下的图片,e是按下的动作,ImageSwitch的实例是IS 调用IS.setonTouchlistener(); 就绑定了ImageSwitch与Touch。

接下来是重点,OnTouch函数有个返回值,如果返回值是 false则停止读取按键操作,过一段时间再读取,如果为true,则不停地连续读取操作,所以我们选择了返回true,接下来是代码

float xdown;
    float xup;
	@Override
	public boolean onTouch(View v, MotionEvent event) {
		// TODO 自动生成的方法存根
		switch(event.getAction())
		{
			case MotionEvent.ACTION_DOWN:
				xdown = event.getX();
				return true;
			case MotionEvent.ACTION_MOVE:
				return true;
			case MotionEvent.ACTION_UP:
				xup = event.getX();
		}
		if(xup == xdown)
		{
			//点击图片
			xdown = 0;
			xup = 0;
			return false;
		}
		if(xdown-xup>50)
		{
			//手指友滑
			xdown = 0;
			xup = 0;
		}
		if(xup-xdown>50)
		{
			//手指左滑
			xdown = 0;
			xup = 0;
		}
		
		return true;
	}

你可能感兴趣的:(用touchlistern实现图片滑动显示,基于SwitchImage)