android  手势(gesture…

来源:互联网 发布:便利店收银软件 编辑:程序博客网 时间:2024/06/06 11:40

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

    intpointCount = event.getPointerCount();
    if(pointCount==1)
     returng.onTouchEvent(event);
    else{
     returnsgd.onTouchEvent(event);
    

   }
  });

 

 

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

   @Override
   publicboolean 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;
     }}
    returntrue;
   }

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

   }

   @Override
   publicboolean onScroll(MotionEvent e1, MotionEvent e2, floatdistanceX,
     floatdistanceY) {
    //TODO Auto-generated method stub
    if(flag){
     wmParams.x=wmParams.x - (int) distanceX;
     wmParams.y=wmParams.y - (int) distanceY;
     wm.updateViewLayout(vv,wmParams);  }
    returntrue;
   }
   //长安事件
   @Override
   public voidonLongPress(MotionEvent e) {
    if(flag){
     //TODO Auto-generated method stub
     Intentintent=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
   publicboolean onFling(MotionEvent e1, MotionEvent e2, floatvelocityX,
     floatvelocityY) {
    //TODO Auto-generated method stub
    returnfalse;
   }

   @Override
   publicboolean onDown(MotionEvent e) {
    //TODO Auto-generated method stub
    returnfalse;
   }
  });
  sgd=newScaleGestureDetector(getBaseContext(), new OnScaleGestureListener(){

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

   @Override
   publicboolean onScaleBegin(ScaleGestureDetector detector) {
    //TODO Auto-generated method stub
    flag=false;
    oldDist=detector.getCurrentSpan();
    returntrue;
   }

   @Override
   publicboolean onScale(ScaleGestureDetector detector) {
    //TODO Auto-generated method stub
    newDist=detector.getCurrentSpan();
    //缩放比例
    //floatscale = detector.getScaleFactor()/3;
    floatscale=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;}
    returntrue;
   }
  });

0 0