我有一个视图,我想通过WindowManager.LayoutParams将它放在(x,y)位置。
我的代码是:
mHeadLayoutParams = new WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_PHONE,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS,
PixelFormat.TRANSLUCENT);
mHeadLayoutParams.gravity = Gravity.TOP | Gravity.END;
mHeadLayoutParams.x = -20;
mHeadLayoutParams.y = _screenSize.y * 15 / 100;
但 mHeadLayoutParams.x = -20 在其他设备屏幕上不相同。如何计算此值以放置在多设备屏幕上相同位置的视图?
抱歉我的英语不好。
答案 0 :(得分:1)
使用时似乎正确:mHeadLayoutParams.x =(int) - (20 *密度+ 0.5f)
答案 1 :(得分:1)
在mHeadLayoutParams.x&中使用屏幕比率和密度。 mHeadLayoutParams.y。 它会自动支持多屏幕。