以下是我展示PopupWindow
View rootView = activity.getWindow().getDecorView().getRootView();
mPopupWindow.showAtLocation(rootView, Gravity.NO_GRAVITY, 0, 0);
当我在Samsung
,Nexus
设备上对其进行测试时,状态栏上显示
但是,当我在Sony
设备上对其进行测试时,它会显示上方状态栏(如下图所示)
那么哪个设备显示正确或我做错了什么? 任何帮助或建议将非常感谢
答案 0 :(得分:1)
我通过在View
(top-left
下面的代码中创建 temp topLeftView
来解决我的问题。
然后当我显示PopupWindow
时,我会在(0, the y coordinate of topLeftView)
显示(0,0)
View topLeftView = findViewById(R.id.top_left_View);
int topLeftPos[] = new int[2];
topLeftView.getLocationOnScreen(topLeftPos);
mPopupWindow.showAtLocation(topLeftView, Gravity.NO_GRAVITY, 0, topLeftPos[1]);
我认为此解决方案适用于所有设备