android  手势(gesture…

// 设置监听浮动窗口的触摸移动
  vv.setOnTouchListener(new OnTouchListener() {
   @Override
   public boolean onTouch(View v, MotionEvent event) {
    // TODO Auto-generated method stub

    int pointCount = event.getPointerCount();
    if(pointCount==1)
     return g.onTouchEvent(event);
    else{
     return sgd.onTouchEvent(event);
    

   }
  });

 

 

g=new GestureDetector(new GestureDetector.OnGestureListener() {

   @Override
   public boolean onSingleTapUp(MotionEvent e) {
    // TODO Auto-generated method stub
    // TODO Auto-generated method stub
    if(flag){
     if(isPlay){ 
      vv.pause();
      isPlay=false;
     }else{
      vv.start();
      isPlay=true;
     }}
    return true;
   }

   @Override
   public void onShowPress(MotionEvent e) {
    // TODO Auto-generated method stub

   }

   @Override
   public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
     float distanceY) {
    // TODO Auto-generated method stub
    if(flag){
     wmParams.x =wmParams.x - (int) distanceX;
     wmParams.y =wmParams.y - (int) distanceY;
     wm.updateViewLayout(vv, wmParams);  }
    return true;
   }
   //长安事件
   @Override
   public void onLongPress(MotionEvent e) {
    if(flag){
     // TODO Auto-generated method stub
     Intent intent=new Intent(SmallPlay.this,AutoVideoActivity.class);
     intent.putExtra("postion",vv.getCurrentPosition());
     intent.putExtra("path",path);
     intent.putExtra("index",index);
     //intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
     startActivity(intent);
     wm.removeView(vv);
    }
   }

   @Override
   public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
     float velocityY) {
    // TODO Auto-generated method stub
    return false;
   }

   @Override
   public boolean onDown(MotionEvent e) {
    // TODO Auto-generated method stub
    return false;
   }
  });
  sgd=new ScaleGestureDetector(getBaseContext(), new OnScaleGestureListener() {

   @Override
   public void onScaleEnd(ScaleGestureDetector detector) {
    // TODO Auto-generated method stub
    flag=true;
   }

   @Override
   public boolean onScaleBegin(ScaleGestureDetector detector) {
    // TODO Auto-generated method stub
    flag=false;
    oldDist=detector.getCurrentSpan();
    return true;
   }

   @Override
   public boolean onScale(ScaleGestureDetector detector) {
    // TODO Auto-generated method stub
    newDist=detector.getCurrentSpan();
    //缩放比例
    //float scale = detector.getScaleFactor()/3;
    float scale=newDist/oldDist;
    if(scale!=0){

     //mMatrix.setScale(scale, scale,detector.getFocusX(),detector.getFocusY());
     wmParams.width=(int) (wmParams.width*scale);
     wmParams.height=(int) (wmParams.height*scale);
     wm.updateViewLayout(vv, wmParams);
     oldDist=newDist;}
    return true;
   }
  });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值