androidlayoutparam支持多屏

android layoutparam support multi screen

我有一个视图,我想通过 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在其他设备屏幕上不一样。我如何计算我在多设备屏幕上相同位置的视图的值?

my image

抱歉我的英语不好。

使用时似乎是正确的:mHeadLayoutParams.x = (int)-(20 * density + 0.5f)

在 mHeadLayoutParams.x 和 mHeadLayoutParams.y 中使用屏幕比例和密度。 会自动支持多屏。