2014-07-11 134 views
3

我有一种情况,其中有不同的布局,每个布局都有一个菜单。我该怎么做?作为参考,您可以访问YouTube移动应用程序,并在视频的右侧出现3个点,点击它们后,会打开一个菜单。我有屏幕截图,但信用不足阻止我上传它。请帮助我。提前致谢。!如何将菜单添加到布局

+0

附加的屏幕截图 – intrepidkarthi

+0

哪里是屏幕截图?? –

+0

嗨,StackOverflow不接受屏幕截图!它说我应该拥有10个学分,这是我不幸的。 – Abhishek

回答

6

请记住,您不需要为操作栏设计设计布局。

只需创建一个@ res/menu/main_activity_actions.xml文件,并添加要在操作栏中使用的项目。

<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" /> 

充气布局,oncreateoption菜单

@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); 
    } 
} 
+0

谢谢,但我需要的是每种布局的菜单!假设我有4个布局,每个布局有不同的选项,当用户点击布局的菜单按钮时,我应该显示菜单。 – Abhishek

+0

Soo用于根据需要为每个布局创建4个不同的文件。 –

+0

为每个活动分别创建xml,并为所有这些布局实现上面的代码...应该可以工作 –

1

正如user1632209你可以使用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; 
    } 

创建水库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"/> 

+0

谢谢Mr.DCoder !! – Abhishek

+0

Abhishek如果这是正确的答案,你可以接受它。 – DCoder

+0

我已经部署了它!非常感谢!! – Abhishek