我的屏幕上有一个按钮,该按钮位于屏幕上的某个位置(靠近顶部)。
我想单击按钮并获得此结果: 按钮正下方会打开一个菜单,让您选择文本(从列表中)或编写我自己的文本(其中写有“在此处键入..”)。
我有这个弹出菜单:
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
可能无法满足您的要求,因为它在包含菜单项以外的 View 方面没有提供太多的灵 active 。使用PopupWindow相反,因为它支持自定义布局。 Here就是一个例子。
关于java - 下面带有滚动和编辑文本的弹出菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45184520/