android 在 WindowManager 中调整视图大小
Resize View in WindowManager in android
我想调整我的视图大小,它是使用 Windowmanager 中的触摸服务创建的。我已经更改了高度和宽度,它工作正常。
但我发现 params.x 和 params.y 没有变化,所以它在移动调整视图大小的时间。
为此,我找到了针对不同情况的值
当视图小
在左上角 params.x = -310 params.y = -826
当视图小并且在左下角 params.x = -364 params.y = 958
当视图大并且在左上角 params.x = -253 params.y = -657
当视图大并且在左下角 params.x = -323 params.y = 888
这是我的ontouch代码
case MotionEvent.ACTION_DOWN:
initialX = params.width;
initialY = params.height;
initialTouchX = event.getRawX();
initialTouchY = event.getRawY();
Log.w("DOWN","X="+params.x+" Y="+params.y);
return true;
case MotionEvent.ACTION_MOVE:
params.width = (int) (initialX + (int) (event.getRawX() - initialTouchX));
params.height = (int) (initialY + (int) (event.getRawY() - initialTouchY));
Log.w("MOVE","X="+params.x+" Y="+params.y);
windowManager.updateViewLayout(videoLoder, params);
return true;
如何获取 params.x 和 params.y 作为高度和宽度的变化?
以及这个params.x和params.y是怎么计算的?
我找到了某种 similar question 但尚未回答。
我已经将 gravity 设置为居中,所以出现了这个问题,但是在将 gravity 设置到左上角之后,一切都像魅力一样工作
params.gravity = Gravity.TOP | Gravity.LEFT;
可能对某些人有帮助
我想调整我的视图大小,它是使用 Windowmanager 中的触摸服务创建的。我已经更改了高度和宽度,它工作正常。
但我发现 params.x 和 params.y 没有变化,所以它在移动调整视图大小的时间。
为此,我找到了针对不同情况的值
当视图小 在左上角 params.x = -310 params.y = -826
当视图小并且在左下角 params.x = -364 params.y = 958
当视图大并且在左上角 params.x = -253 params.y = -657
当视图大并且在左下角 params.x = -323 params.y = 888
这是我的ontouch代码
case MotionEvent.ACTION_DOWN: initialX = params.width; initialY = params.height; initialTouchX = event.getRawX(); initialTouchY = event.getRawY(); Log.w("DOWN","X="+params.x+" Y="+params.y); return true; case MotionEvent.ACTION_MOVE: params.width = (int) (initialX + (int) (event.getRawX() - initialTouchX)); params.height = (int) (initialY + (int) (event.getRawY() - initialTouchY)); Log.w("MOVE","X="+params.x+" Y="+params.y); windowManager.updateViewLayout(videoLoder, params); return true;
如何获取 params.x 和 params.y 作为高度和宽度的变化?
以及这个params.x和params.y是怎么计算的?
我找到了某种 similar question 但尚未回答。
我已经将 gravity 设置为居中,所以出现了这个问题,但是在将 gravity 设置到左上角之后,一切都像魅力一样工作
params.gravity = Gravity.TOP | Gravity.LEFT;
可能对某些人有帮助