本帖最后由 seker_xinjian 于 2011-11-25 14:20:19 编辑

解决方案 »

  1.   


    汗!我做动画就是用ImageView,ImageView自然是支持onClick事件的,何必要加一个button。我先说明一下,View做在做动画的时候,它并没有真的移动它的位置。而是根据时间的插值,计算出一个Matrix,然后不停的invalidate,在onDraw中的Canvas中使用这个计算出来的Matrix去draw这个View。不知道我这样讲,大家能不能明白?换句话说,View在做动画的时候,它的位置并没有变化,只是画它的时候进行了Matrix处理,使得它看起来变化了。它的点击事件的相应区域仍然是它不做动画的那块区域。
      

  2.   

    变通一下,考虑让View在动画中的显示区域 = View在父View中的Layout区域。或者对Activity整个View监听onclick,判断坐标区域
      

  3.   


    这种变通效果肯定能出来的,只是代价太惨重了吧?这都已经不是在Android传统意义上的动画。而是需要在动画的每一个时间插值点上,重新让这个View进行onMesure,然后onLayout,然后onDraw。
      

  4.   


    不然的话就尝试使用WindowManage,这个应该可以达到效果,而且监听也很方便。 就是控制稍微就麻烦些吧。其他更好的方法,你研究出来后还请共享给大家。
      

  5.   


    简单点说,就是我的一个imageview,在做动画中呢,现在用户要去点击它,它必须响应点击事件。问题点是:点击这个ImageView做动画时候的“显示区域”,怎么样才能正确的响应点击事件?
      

  6.   

    动画时候的“显示区域”,那就是说你能得到这个显示区域的坐标了。那么onTouchEvent应该就可以判断吧