【问题标题】:popup menu with scroll and edittext below带有滚动和编辑文本的弹出菜单
【发布时间】:2017-07-19 16:27:02
【问题描述】:

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

我想点击按钮并得到这个结果: 在按钮下方会打开一个菜单,让您选择文本(从列表中)或编写我自己的文本(其中写有“在此处输入..”)。

我有这个弹出菜单:

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();

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

【问题讨论】:

  • 为什么要输入文字,用于搜索或添加项目
  • 如果用户不想要任何列表(text1,text2...),他可以编写自己的文本。因此,如果他按下“提交”,我会将这个 edittext 字符串显示在屏幕上的其他位置(而不是在弹出窗口上)。如果他从列表中选择,我将按下项目的文本(“text1”等..)并将其显示在某处..希望你明白了

标签: java android android-alertdialog popupmenu


【解决方案1】:

PopupMenu 可能无法满足您的要求,因为它在包含菜单项以外的视图方面没有提供太多的灵活性。请改用PopupWindow,因为它支持自定义布局。 Here 就是一个例子。

【讨论】:

    猜你喜欢
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多