问题描述
- 关于浮动框的坐标问题
-
mParams.gravity = Gravity.LEFT | Gravity.TOP; mParams.x = 0;//相对于屏幕原点的x轴距离 mParams.y = 0;//相对于屏幕原点的y轴距离 mWM.addView(ivCursor, mParams); 这样设置后那个浮动框就在界面左上角了 然后是不是那个浮动框的左上角坐标是0 0 啊 以后每次移动这个浮动框是不是都是以这个浮动框的左上角的坐标为准啊
解决方案
1.对于WindowManager创建出来的view,其默认原点是左下角。
2.通过mParams.gravity = Gravity.LEFT | Gravity.TOP;来设置后,其原点就变成了左上角。
3.mParams.x和mParams.y设置的值表示的是从原点的偏移量。
4.如果mParams.x和mParams.y都设置为正数,那么view的位置就会向屏幕内偏移你设置的值的pix值。
举例子说明:
1.mParams.gravity = Gravity.LEFT | Gravity.TOP; mParams.x=10; mParams.y = 20; 那么view就会根据左上角分别向右偏移10像素,向下偏移20像素。
2.mParams.gravity = Gravity.RIGHT | Gravity.TOP; mParams.x=30; mParams.y = -40; 那么view就会根据右上角分别向左偏移30像素,向上偏移40像素。
时间: 2024-09-13 18:35:43