在android 2.3 GingerBread中创建弹出菜单

时间:2013-05-06 13:38:26

标签: android popup android-dialog

我是android的中级程序员。现在我正在开发一个有视图的应用程序。当我点击该视图时,我必须显示一个弹出菜单。

我从android开发者网站

获得了以下代码
public void showPopup(View v) {
    PopupMenu popup = new PopupMenu(this, v);
    MenuInflater inflater = popup.getMenuInflater();
    inflater.inflate(R.menu.actions, popup.getMenu());
    popup.show();
}

但此代码仅适用于API 11及更高版本。

任何人都可以帮助我,以便我可以创建一个支持GingerBread的弹出菜单吗?

4 个答案:

答案 0 :(得分:3)

您可以使用PopupWindow和showAsDropDown()代替。

http://developer.android.com/guide/topics/ui/menus.html#FloatingContextMenu

答案 1 :(得分:1)

弹出式菜单现已在support library v4PopupMenuCompat)中提供。

答案 2 :(得分:0)

您可以尝试以下方法:

public void myDialog() {
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    LayoutInflater inflater = getActivity().getLayoutInflater();
    View v = inflater.inflate(R.layout.my_xml_layout, null);
    builder.setView(v);
    builder.set......;
    builder.show();
}

其中builder.set...是您可以设置标题,正按钮操作(即“确定”),否定按钮操作(即“取消”)以及其他选项的地方。

答案 3 :(得分:0)

据我所知[{1}}不支持Android 2.3,PopupMenu仅支持Android 2.3,因此最好在Android 2.3中使用PopupWindow