отобразить PopupWindow поверх элемента макета RecyclerView Adapter - PullRequest
0 голосов
/ 09 мая 2018

Я отображаю данные JSON внутри RecyclerView, я добавил длительное нажатие на элемент RecyclerView, который отображает PopupWindow . Я хочу отобразить это PopupWindow поверх каждого элемента Recyclerview, когда я долго нажимаю на него.

но PopupWindow отображается только в верхней части родительского экрана, а не поверх элемента Recyclerview.

Я хочу, чтобы PopupWindow отображалось в верхней части каждого макета элемента RecyclerView.

вот мой код для отображения PopupWindow

private void PopUpWindowOption(LinearLayout mainLayout)
    {

        View customView = LayoutInflater.from(context).inflate(R.layout.popup,null);

        Button closePopupBtn = (Button) customView.findViewById(R.id.closePopupBtn);

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



        closePopupBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                popupWindow.dismiss();
                Toast.makeText(context,"clicked",Toast.LENGTH_SHORT).show();
            }
        });

        popupWindow.showAtLocation(mainLayout, Gravity.TOP, 0, 0);

    }

выход

enter image description here

Как мне достичь этого, помогите мне. Спасибо

1 Ответ

0 голосов
/ 09 мая 2018

что вы используете в настоящее время:

popupWindow.showAtLocation(mainLayout, Gravity.TOP, 0, 0);

То, что вы хотите использовать:

popupWindow.showAsDropDown(anchor, offsetX, offsetY, gravity);

Приведенный выше код показывает всплывающее окно относительно указанного представления привязки. Вы можете использовать вид элемента во время события OnClick или OnLongClick. Это будет отображаться как раскрывающийся список относительно элемента. Если вы хотите показать его над itemView, вы можете изменить его соответствующим образом, изменив значение offsetY. как:

popupWindow.showAsDropDown(anchor, 0, -anchor.getHeight() + popupView.getHeight());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...