1

我不确定 x 和 y 参数是否应该是 DensityIndependentPixels 的像素。

我试图从 Android 的文档中获取这些信息,但没有答案: showAtLocation 文档

在深入挖掘之后,我只有更多的问题:

文档包含关于 x 和 y的WindowManager.LayoutParams更多解释: WindowManager.LayoutParams 文档 但仍然不是我要找的那个。

4

1 回答 1

1

布局参数中的 X/Y 以像素为单位。你可以看看这个如何在特殊位置显示 PopupWindow?有关操作方法的更多信息。

额外:您还可以将此值转换为

float density = context.getResources().getDisplayMetrics().density;
float px = someDpValue * density;
float dp = somePxValue / density;

额外2:您还可以获得屏幕的宽度/高度

DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();    
float dpHeight = displayMetrics.heightPixels / displayMetrics.density;
float dpWidth = displayMetrics.widthPixels / displayMetrics.density;
于 2018-07-11T08:33:59.787 回答