我有一种情况,其中有不同的布局,每个布局都有一个菜单.我该怎么做?作为参考,您可以访问Youtube移动应用程序,在视频的右侧,出现3个点,点击它们,将打开一个菜单.我有屏幕截图但信用不足阻止我上传它.请帮帮我.提前致谢.!
请记住,您不需要为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);
    }
}
正如 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;
}
在 res->menu 目录中创建 settings_menu.xml,如下所示:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <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"/>
</menu>
| 归档时间: | 
 | 
| 查看次数: | 13125 次 | 
| 最近记录: |