FloatWindow
FloatWindow copied to clipboard
拖动按钮抛出界面再也不出现
@summersky14 增加范围判断即可 在IFloatWindowImpl中增加判断 /** * 判断是否超出范围,根据自己需求设置比例大小,我自己设置的是0.025和0.975 * @param x event.getRawX() * @param y event.getRawY() * @return */ private boolean isOutOfRange(float x, float y) { boolean b = true; float screenWidth = Util.getScreenWidth(mB.mApplicationContext); float screenHeight = Util.getScreenHeight(mB.mApplicationContext); float widthRate, heightRate; widthRate = (screenWidth - x) / screenWidth; heightRate = (screenHeight - y) / screenHeight; if (widthRate > 0.025 && widthRate < 0.975 && heightRate > 0.025 && heightRate < 0.975) { b = false; } else { b = true; } return b; } 然后在case MotionEvent.ACTION_MOVE 中判断即可 case MotionEvent.ACTION_MOVE: if (!isOutOfRange(event.getRawX(), event.getRawY())) { changeX = event.getRawX() - lastX; changeY = event.getRawY() - lastY; newX = (int) (mFloatView.getX() + changeX); newY = (int) (mFloatView.getY() + changeY); mFloatView.updateXY(newX, newY); if (mB.mViewStateListener != null) { mB.mViewStateListener.onPositionUpdate(newX, newY); } lastX = event.getRawX(); lastY = event.getRawY(); } break;