private void animateViewToSideSlot() {
Point screenSize = new Point();
mWindowManager.getDefaultDisplay().getSize(screenSize);
WindowManager.LayoutParams params = (WindowManager.LayoutParams) mFloatingView.getLayoutParams();
int endX;
if (params.x + mFloatingView.getWidth() / 2 >= screenSize.x / 2) {
endX = screenSize.x - mFloatingView.getWidth();
} else {
endX = 0;
}
PrefUtils.setFloatingLocation(mService, (float) params.y / screenSize.y, endX == 0);
ValueAnimator valueAnimator = ValueAnimator.ofInt(params.x, endX)
.setDuration(300);
valueAnimator.setInterpolator(new LinearOutSlowInInterpolator());
valueAnimator.addUpdateListener(animation -> {
WindowManager.LayoutParams params1 = (WindowManager.LayoutParams) mFloatingView.getLayoutParams();
params1.x = (int) animation.getAnimatedValue();
try {
mWindowManager.updateViewLayout(mFloatingView, params1);
} catch (IllegalArgumentException ignore) {
}
});
valueAnimator.start();
}
FloatingView.java 文件源码
java
阅读 29
收藏 0
点赞 0
评论 0
项目:velociraptor
作者:
评论列表
文章目录