如何将popupWindow显示为下拉单击Recyclerview行元素?

时间:2017-11-16 08:32:09

标签: android android-recyclerview popupwindow

我尝试使用工作正常的代码,除非我点击recyclerview的最后或最后一行,popupWindow打开offscreen。有没有办法为popupWindow的结束行显示视图的upSide recyclerview。 这是我正在使用的代码:

public void showPopup(View v, int _pos) {

    LayoutInflater layoutInflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View popupView = layoutInflater.inflate(R.layout.popup_row_appointment_option, null);

    popupWindow = new PopupWindow(
            popupView,
            ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT);

    popupWindow.setBackgroundDrawable(new BitmapDrawable());
    popupWindow.setFocusable(true);
    popupWindow.setOutsideTouchable(true);
    popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
        @Override
        public void onDismiss() {
            //TODO do sth here on dismiss
        }
    });

    popupWindow.showAsDropDown(v, v.getScrollX(), v.getScrollY());

    tv_view_profile = (TextView) popupView.findViewById(R.id.tv_view_profile);
    tv_view_profile.setOnClickListener(this);
}

Here is the screenshot of the problem I am facing. That popupWindow showing off Screen of the device.

1 个答案:

答案 0 :(得分:0)

我建议你去PopupMenu接受 AnchorView - >使用它我们可以获得我们想要显示弹出窗口的确切位置 - >你可以将AnchroView作为View(三点图像视图)传递

这是一个很好的例子:

https://www.javatpoint.com/android-popup-menu-example

还请使用Appcompat版本在菜单中触摸材料

使用自定义布局,您可以使用常规流程进行微小更改 -

popup.showAtLocation(anchorView, Gravity.BOTTOM, 0,
                anchorView.getBottom() - 60);

这只是底部引力的一个例子。您可以根据代码设置重力和余量。

anchorView =您要显示此弹出窗口的视图。试试这个,如果您有任何疑问,请告诉我。