很抱歉再次发布,我发布了一个几乎相同的问题,但可能太长了,我没有答案。我直接回答这个问题
所以我做了一个浮动的图标,就像Facebook的聊天头像,但是它的X和Y坐标有一些问题。我需要得到手机屏幕的上下左右边缘来解决问题。我没有得到的是这些X和Y是基于什么的?我的Note2屏幕是1280x720,但是当我将头部移动到顶部和底部边缘时,我从日志中得到了这些随机数:
12-28 11:41:49.471: D/COORDINATES X Y(9879): 73 -571 (Top)
12-28 11:42:05.991: D/COORDINATES X Y(9879): 23 572 (Bottom)
(由于代码的精度,与值有偏差,这是我上面提到的问题,但它仅在1-5的范围内)
我试着求出2个绝对y值的和,但结果不接近1280,这是我的屏幕分辨率,所以现在我很困惑这个?
希望有人能帮我,我花了好几个小时找这个,但还是没有找到
更多细节:这是头部代码:(x=0,y=0时,它将出现在屏幕中央)
final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
params.x = 0;
params.y = 0;
windowManager.addView(chatHead, params);
编辑:@jason说我应该使用屏幕的尺寸(如果我的理解正确的话,屏幕的宽度和高度)。但我需要X和Y来移动头部,它们不是基于屏幕的尺寸。
这是完整代码的链接,以防有人需要:http://www.piwai.info/chatheads-basics/
最佳答案
我对你也有类似的问题。我测试了我的应用程序windowmanager.layoutparam.x和windowmanager.layoutparam.y。
(我的手机是Galaxy 4S,最大尺寸是1920x1280)
我找到了答案。
基值是第一次加载视图时与该视图的“第一个位置值”的相对值。