下面带有滚动和编辑文本的弹出菜单

popup menu with scroll and edittext below

我的屏幕上有一个按钮,该按钮位于屏幕某处(靠近顶部)。

我想点击按钮得到这个结果: 按钮 正下方 打开一个菜单,您可以选择文本(从列表中)或编写我自己的文本(其中写有 "type here..")。

我有这个弹出菜单:

PopupMenu popupMenu = new PopupMenu(this, buttonChooseText);
    for (int i = 0; i < listDefaultText.size(); ++i) {
        // the list is from String type and contains "text1" and so on
        popupMenu.getMenu().add(listDefaultText.get(i);
    }
    popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            switch (item.getTitle().toString()) {
                case "Text1" :
                    //execute "text1" action
                    break;
                case "Text2" :
                    //execute "text2" action
                    break;
            }
            return false;
        }
    });
    popupMenu.show();

那么我怎样才能得到这个结果呢?

PopupMenu 可能无法满足您的要求,因为它在包含菜单项以外的视图方面没有提供太多灵活性。使用PopupWindow instead as it supports custom layout. 就是一个例子。