Popup出现在DialogFragment后面

时间:2014-08-12 09:18:57

标签: android popup popupwindow dialogfragment

我有一个DialogFragment。在点击此Dialog片段中的按钮时,我需要在对话框片段中的特定edittext上方显示一个弹出窗口。为此,我使用

找到edittext的绝对坐标
int[] coords = {0,0};
editText.getLocationOnScreen(coords);

并使用

在所需位置显示弹出窗口
popup.showAtLocation(popupView, Gravity.NO_GRAVITY, coords[0] + edittext.getWidth(), coords[1]);

但这样做会显示对话框片段后面的弹出窗口。有没有办法让对话框片段上方弹出窗口?

2 个答案:

答案 0 :(得分:2)

好的,我弄清楚了我的错误。 popUp.showAtLocation的第一个参数应该是getView()而不是popUpView。

popup.showAtLocation(getView(), Gravity.NO_GRAVITY, coords[0] + edittext.getWidth(), coords[1]);

现在将在dialogFragment

上方绘制弹出窗口

答案 1 :(得分:0)

在DialogFragment上显示您的弹出窗口,但需要一定的延迟时间

例-
new Handler()。postDelayed(()-> showPopup(anchorView),1000); //这里使用1秒延迟。