// 设置监听浮动窗口的触摸移动
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;
}
});