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在其他设备屏幕上不一样。我如何计算我在多设备屏幕上相同位置的视图的值?
抱歉我的英语不好。
使用时似乎是正确的:mHeadLayoutParams.x = (int)-(20 * density + 0.5f)
在 mHeadLayoutParams.x 和 mHeadLayoutParams.y 中使用屏幕比例和密度。
会自动支持多屏。
我有一个视图,我想通过 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在其他设备屏幕上不一样。我如何计算我在多设备屏幕上相同位置的视图的值?
抱歉我的英语不好。
使用时似乎是正确的:mHeadLayoutParams.x = (int)-(20 * density + 0.5f)
在 mHeadLayoutParams.x 和 mHeadLayoutParams.y 中使用屏幕比例和密度。 会自动支持多屏。