在Android中移动屏幕时查看动画?

时间:2013-09-10 09:48:16

标签: android animation view

我在一项活动中有2个观看次数。一个全屏(View1)和其他小(View2),是View1的一半大小。

我可以通过捕获onTouch侦听器(ACTION_UP / ACTION_DOWN)在View1上移动View2。但我想在View1上移动时显示View2的动画/拖动图像。任何关于如何实现这一点的建议都将不胜感激。

目前,为了在四个角落移动View2,我在ACTION_UP中设置了布局参数。

代码::

      public boolean onTouch(View view, MotionEvent motionEvent) {
     RelativeLayout.LayoutParams layoutParams =(RelativeLayout.LayoutParams)view.getLayoutParams();
     int dx=0,dy=0;


         switch (motionEvent.getActionMasked()) {
             case MotionEvent.ACTION_DOWN:
              int x = (int) motionEvent.getX();
                  int y = (int) motionEvent.getY();
         dx = (int) motionEvent.getRawX()  - layoutParams.leftMargin;
                      dy = (int)motionEvent.getRawY() - layoutParams.topMargin;
                break;

            case MotionEvent.ACTION_MOVE:
                layoutParams.leftMargin = (int) ((int) motionEvent.getRawX()-dx);
                layoutParams.topMargin = (int) ((int)motionEvent.getRawY()- dy);
                view.setLayoutParams(layoutParams);             
                break;

        case MotionEvent.ACTION_UP:
             view.setLayoutParams(layoutParams);
                break;
         }
         return true;
     }

1 个答案:

答案 0 :(得分:0)

使用ACTION_MOVE并通过检查指针的xy值来计算偏移量。在设置floating视图的重量或高度/宽度参数之后。