我为imageView设置了TranslateAnimation动画,同时也注册了点击事件:iv1.setOnClickListener(new View.OnClickListener()
       {
         public void onClick(View v){
         
          Toast.makeText(testAnimation.this, "恭喜您中奖了", Toast.LENGTH_SHORT).show();
         }
       });
但是发现imageView在静止时可以响应点击事件,在平移时不能,这是为什么呀?

解决方案 »

  1.   

    好像动作完才能监听 TranslateAnimation改成线程刷新来动画就可以了
      

  2.   

    我发现了 原来动画时他的位置并没有改变,点击初始位置 可以响应点击事件,你这个线程刷新的办法有没有例子呢?能否发我一份[email protected],还有我要多个imageView 都动画,是不是要创建多个线程?
      

  3.   

    这个想法不错!但是想想,感觉不对劲!试想,你在图片动画过程时,单击该图片!要让图片有所动作。但是你图片动画已经是一个级别高地可见的Activity.如果你在动画还没完成就单击该图片的话,就相当于,又是一个activity,试想一个界面怎么能容得下两个Activity.这样就必须要有一个Activity要被杀掉!
      

  4.   

    我现在改成用setLayoutParams用线程来刷新位置来产生动画了,可以监听点击事件了,但是还是那个老问题要多个imageView(在同一个Activity内) 都动画,是不是要创建多个线程?
      

  5.   

    现在可以监听点击事件了,就是我要多个imageView(在同一个Activity内) 都动画,是不是要创建多个线程? 帮忙出出主意
      

  6.   


    如果同时动画那可以只用一个线程就可以了 只是更新时要多更新其他的View
      

  7.   

    也不一定 
    不同时动画 一个线程要写点算法 或不用线程用handler的sendMessageDelayed触发动画,在handleMessage内判断动画结束条件,没结束就修改参数再sendMessageDelayed。
      

  8.   

    [UI控件问题] 关于ImageView旋转问题。
    参考下这个做法,旋转画布试试。不知道楼主试过没?