而且你的onTouch里面逻辑也有问题,正确写法:
public FloatingView (Context context){
super(context);
mContext = context.getApplicationContext();
LayoutInflater mLayoutInflater = LayoutInflater.from(context);
mView = mLayoutInflater.inflate(R.layout.floating_view,null);
mImageView = (ImageView)mView.findViewById(R.id.ImageView);
mWindowManager = FloatingManager.getmInstance(mContext);
mView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
mTouchStartX = (int) event.getRawX();
mTouchStartY = (int) event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
mParams.x = tempX + (int) event.getRawX() - mTouchStartX;
mParams.y = tempY +(int) event.getRawY() - mTouchStartY;
mWindowManager.updateView(mView, mParams);
break;
case MotionEvent.ACTION_UP:
tempX = mParams.x;
tempY = mParams.y;
break;
}
return false;
}
});
}
Android悬浮窗用法总结
转载请注明出处:Android悬浮窗用法总结 最近项目里用到了悬浮窗,在这里做一下总结。 WindowManager 悬浮窗主要是通过WindowManager这个类实现的,...