razerdp / BasePopup

Android下打造通用便捷的PopupWindow弹窗库
https://github.com/razerdp/BasePopup
Apache License 2.0
5.19k stars 758 forks source link

dialogFragment显示问题 #407

Closed yong396040003 closed 3 years ago

yong396040003 commented 3 years ago
public static class TestDialogFragment extends DialogFragment {
    View.OnClickListener mOnClickListener;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View contentView = inflater.inflate(R.layout.dialog_fragment_api_constructor, container, false);
        View tvShow = contentView.findViewById(R.id.tv_show);
        tvShow.setOnClickListener(v -> {
            //if (mOnClickListener != null) {

                DemoPopup curPopup = new DemoPopup(this);
                curPopup.setPopupGravity(Gravity.BOTTOM);
                //测试demo中,这个curPopup无法显示到tvShow的底部
                curPopup.showPopupWindow(tvShow);
           // }
        });
        return contentView;
    }

    @Override
    public void onStart() {
        super.onStart();
        Window dialogWindow = getDialog().getWindow();
        if (dialogWindow != null) {
            WindowManager.LayoutParams lp = dialogWindow.getAttributes();
            lp.width = Math.round(UIHelper.getScreenWidth() * 0.8f);
            lp.height = ViewGroup.LayoutParams.WRAP_CONTENT;
            lp.gravity = Gravity.CENTER;
            dialogWindow.setAttributes(lp);
        }
    }

    public TestDialogFragment setOnClickListener(View.OnClickListener onClickListener) {
        mOnClickListener = onClickListener;
        return this;
    }
}

//测试demo中,这个curPopup无法显示到tvShow的底部

yong396040003 commented 3 years ago

image 最后显示结果是这样的

razerdp commented 3 years ago

这是因为popup要超出屏幕了,所以会顶回来

yong396040003 commented 3 years ago

image 请问一下,如何把下面的popupWindow放在上面《请点击我弹出basePopup》文字下面呢?

razerdp commented 3 years ago

textview改为wrap_content咯。。。demo中我写了300dp,所以才会离文字那么远

razerdp commented 3 years ago

微信截图_20210419163259

yong396040003 commented 3 years ago

不好意思,是我的问题,我当前用的版本是2.2.3的,当我升级到2.2.20的时候问题就解决了,感谢。