如何在应用程序中创建溢出菜单。但我不想要动作栏中的溢出菜单。但我希望它可以附加在应用程序的任何位置。我见过一个音乐应用程序,其中有类似的东西。我想在我的应用程序中包含它。我正在附上图像。
单击图像..在下拉菜单中将类似于操作栏中的溢出菜单。任何人都可以告诉我该怎么做。任何帮助将不胜感激。
答案 0 :(得分:0)
User117评论很有帮助,对我有用。
您可以使用此类并在任何小部件中创建溢出菜单。 请参阅Pop up menu link。
private void setOverflowMenu(View view)
{
popup = new PopupMenu(getActivity(), view.findViewById(R.id.image_overflow));
popup.getMenu().add(Menu.NONE, OPTION1, Menu.NONE, "My option 1");
popup.getMenu().add(Menu.NONE, OPTION2, Menu.NONE, "My option 2");
popup.getMenu().add(Menu.NONE, OPTION3, Menu.NONE, "My option 3");
popup.setOnMenuItemClickListener(this);
}
从片段调用,因此传递view
作为参数。如果从活动中调用,则可以直接调用此方法。 view.findViewById(R.id.image_overflow)
是我需要附加菜单的图像。然后在我的班级中实施PopupMenu.OnMenuItemClickListener
迫使我实施以下方法
@Override
public boolean onMenuItemClick(MenuItem item)
{
switch (item.getItemId())
{
case OPTION1:
Toast.makeText(getActivity(), "OPTION1 clicked", Toast.LENGTH_LONG).show();
break;
case OPTION2:
Toast.makeText(getActivity(), "OPTION2 clicked", Toast.LENGTH_LONG).show();
break;
case OPTION3:
Toast.makeText(getActivity(), "OPTION3 clicked", Toast.LENGTH_LONG).show();
break;
}
return false;
}
那就是它。每件事都有效。并且不要忘记为小部件添加点击监听器(在我的情况下为imageview)。