关于OnTouch 和OnClick系统无法很好监听两者的解决方案

       早前做一个项目,涉及到对图片的多点触碰以达到放大和缩小,对于这个需求,我相信很多童鞋都看过这个帖子:http://www.qtforce.com/forum.php?mod=viewthread&tid=149&extra=
也可能是根据这个帖子说的去做的,包括我自己也是这样,但是做到后面我有一点不满意,那就是:
我的需求要求点一下图片,进入放大和缩小模式;再点一下,图片就回复到原来的样子(而不需要按返回键来回还原图片)。
    我先插点多余的话,关于两个画面的切换,我想过很多方案,但最终还是选择了用两个Activity来实现这个切换过程,因为通过Layoutinflater加入View或者用自定义Dialog的形式都无法很好的解决我的需求,当然这里也想高人指点一二;anyway,这个帖子的重点在于后头:
    点击图片进入了放大和缩小的ZoomActivity后,ZoomActivity是implements 了OnTouchListener,看过有帖子说OnTouchListener屏蔽了OnClickListener,也就是系统只能捕捉到前者的事件而不能捕捉到后者的事件,后来我又看到别的帖子说其实没有屏蔽,看了他的解决方法,却没有说详细,反正我套用了那个网站的例子是无法监听到我对图片的OnClick事件的(因为OnCLick事件被OnTouchListener截取了),郁闷之余,我想了个算法,其实不复杂,我只不过是在原作者代码的基础增添了一些东西,就达到了我的目的:点击图片进入到放大缩小的界面,这个界面支持多点触碰来放大和缩小图片,在这个界面再Click一下,界面就还原到之前的界面,这样,我的OnTouch事件能照常监听,我的OnClick也能被系统“识别”,算是达到了我的目的,好了,说了这么多,下面上代码的链接地址:http://download.csdn.net/detail/gymiicmc/3864704

注意:clickHandler和keyUpDownListener是我的主要工作

 


缩小              放大

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值