Java Android PopupWindow showAtLocation()vs showAsDropDown()-第一个对我有效,第二个对我无效

Java Android PopupWindow showAtLocation()vs showAsDropDown()-第一个对我有效,第二个对我无效,java,android,mobile,Java,Android,Mobile,我用下面的代码在android中显示了一个弹出窗口,我想在按钮上固定一个弹出窗口 btnShowPopup = (Button)findViewById(R.id.btnShowPopup); btnShowPopup.setOnClickListener(this); @Override public void onClick(View v) { if(v == btnShowPopup){ View popupViw = getLayoutInfla

我用下面的代码在android中显示了一个弹出窗口,我想在按钮上固定一个弹出窗口

    btnShowPopup = (Button)findViewById(R.id.btnShowPopup);
    btnShowPopup.setOnClickListener(this);

@Override
public void onClick(View v) {
    if(v == btnShowPopup){
        View popupViw = getLayoutInflater().inflate(R.layout.popup_demo, null);
        PopupWindow popup = new PopupWindow(this);
        popup.setContentView(popupViw);
        popup.showAsDropDown(btnShowPopup,10,10);
        //popup.showAtLocation(popupViw, Gravity.BOTTOM, 10, 10);

    }
}

在这种情况下,
popup.showAtLocation()
工作正常,但是
popup.showAsDropDown()
没有为我显示任何弹出窗口。

它可能工作,但在可见窗口下方显示弹出窗口,因为它连接到btnShowPopup视图的左下角。

它可能工作正常,但在可见窗口下方显示弹出窗口,因为它连接到btnShowPopup视图的左下角