1

如何在应用程序中创建溢出菜单。但我不希望操作栏中的溢出菜单。但我希望它可以附加在应用程序的任何位置。我见过一个音乐应用程序做了类似的事情。我想将它包含在我的应用程序中。我附上相同的图像。

在此处输入图像描述 单击图像.. 下拉菜单将类似于操作栏中的溢出菜单。谁能告诉我该怎么做。任何帮助将不胜感激。

4

1 回答 1

0

User117 评论很有帮助,对我有用。

您可以使用此类并从任何小部件创建溢出菜单。请参阅弹出菜单链接

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)。

于 2013-07-02T06:21:37.903 回答