如何将菜单添加到布局

时间:2014-07-11 05:39:14

标签: android menu

我的情况是有不同的布局,每个布局都有一个菜单。我该怎么做?作为参考,您可以访问Youtube移动应用程序,在视频的右侧,出现3个点,点击它们,将打开一个菜单。我有屏幕截图但信用不足阻止我上传它。请帮帮我。在此先感谢。!

2 个答案:

答案 0 :(得分:6)

请记住,您不需要为ActionBar设计布局。

只需创建一个文件@res / menu / main_activity_actions.xml,然后在ActionBar中添加要使用的项目。

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/action_search"
      android:icon="@drawable/ic_action_search"
      android:title="@string/action_search"/>
<item android:id="@+id/action_compose"
      android:icon="@drawable/ic_action_compose"
      android:title="@string/action_compose" />

在onCreateOptionsMenu

中夸大布局
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu items for use in the action bar
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main_activity_actions, menu);
    return super.onCreateOptionsMenu(menu);
}

处理项目的点击事件。

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle presses on the action bar items
    switch (item.getItemId()) {
        case R.id.action_search:
            openSearch();
            return true;
        case R.id.action_compose:
            composeMessage();
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

答案 1 :(得分:2)

如用户1632209所述,您可以使用Android的菜单,但如果您想创建自己的弹出菜单,可按以下步骤操作:

PopupMenu popup = new PopupMenu(context, btnSettings); //you can use image button
                                          // as btnSettings on your GUI after 
                                  //clicking this button pop up menu will be shown

popup.getMenuInflater().inflate(R.menu.settings_menu, popup.getMenu());
popup.setOnMenuItemClickListener(this);
        popup.show();

您可以将监听器添加到菜单选项中,如:

@Override
    public boolean onMenuItemClick(MenuItem item) {

        switch (item.getItemId()) {
        case R.id.option1:
            //Code for option 1
            break;

        case R.id.option2:
            //Code for option 2
            break;

        default:
            break;
        }
        return false;
    }

在res-&gt;菜单目录中创建settings_menu.xml,如:

<item
    android:id="@+id/option1"
    android:icon="@drawable/icon_for_option1"
    android:orderInCategory="100"
    android:showAsAction="never"
    android:title="Option 1"/>

<item
    android:id="@+id/option2"
    android:icon="@drawable/icon_for_option1"
    android:orderInCategory="200"
    android:showAsAction="never"
    android:title="Option 2"/>

相关问题