0

我正在尝试实现类似于 facebook/twitter 的功能,当您添加“@”符号时会显示用户列表。我的问题是我不知道如何实现这种弹出或浮动视图。是对话框还是片段?

在此处输入图像描述

4

1 回答 1

1

android中有一个叫做ListPopUpWindow的东西可以解决你的问题。我在下面给出了一个示例,例如如何启动它。创建您自己的列表适配器和行 xml 文件。然后将其传递给 popup.setAdapter,就像您在 android 中处理普通列表的方式一样。

 private void initiatePopupWindow(View anchor) {
            try {
                Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
                ListPopupWindow popup = new ListPopupWindow(this);
                popup.setAnchorView(anchor);
                popup.setWidth((int) (display.getWidth()/(1.5)));

                popup.setAdapter(new CustomAdapterForService(getApplicationContext(), R.layout.rowforservice, listCity));
                popup.setOnItemClickListener(new OnItemClickListener() {

                @Override
               public void onItemClick(AdapterView<?> arg0, View view, int position, long id3) {
              //do what you need to do when you click on a popup list item
                }
                 });
                popup.show();

            } catch (Exception e) {
                e.printStackTrace();
            }
        }

最后,从每个你需要调用它的地方,用 Anchor 调用它。锚点是视图,可能是按钮或图像或您需要从中弹出列表的东西。像这样。

initiatePopupWindow(yourOwnView)

这对我有用。如果有任何问题随时问。谢谢。

于 2015-05-06T05:00:14.597 回答