android layoutparam支持多屏幕

时间:2016-08-27 07:47:02

标签: android multiscreen android-layoutparams

我有一个视图,我想通过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

抱歉我的英语不好。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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