【问题标题】:overflow actionbar menu android溢出操作栏菜单android
【发布时间】:2013-03-26 21:02:53
【问题描述】:

我从这里导入了库,以便将其用作操作栏:

https://github.com/johannilsson/android-actionbar

但是我没有找到如何实现溢出菜单项?

例如,在actionbarsherlock中这个实现溢出菜单项的代码是:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
    android:id="@+id/root_menu"
    android:icon="@drawable/ic_menu_moreoverflow_normal_holo_light"
    android:showAsAction="always"
    android:title="More">
    <menu>
        <item
            android:id="@+id/menu_settings"
            android:icon="@drawable/ic_menu_settings_holo_light"
            android:showAsAction="never"
            android:title="Settings" />
        <item
            android:id="@+id/menu_about"
            android:icon="@drawable/ic_menu_info_details"
            android:showAsAction="never"
            android:title="About"/>
   </menu>
</item>
</menu> 

有人可以帮我吗?也许这段代码的开发者可以帮助我?

非常感谢

【问题讨论】:

  • 很确定你不能,你总是可以自己改变它。为什么不改用 Actionbarsherlock 或支持库?
  • 因为我发现这个库比 actionbarsherlock 容易得多,当我调用该方法时它为我返回 null,正如我在这里提到的:stackoverflow.com/questions/15600783/…

标签: java android


【解决方案1】:

同样的方式你可以实现系统操作栏菜单。无需使用任何库或其他代码,只需将此代码用于您的菜单,它将适用于您并生成您的菜单使用 oncreateoptionmenu/onprepareoptionmenu 例如使用此代码

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
    android:id="@+id/root_menu"
    android:icon="@drawable/ic_menu_moreoverflow_normal_holo_light"
    android:showAsAction="always"
    android:title="More">
    <menu>
        <item
            android:id="@+id/menu_settings"
            android:icon="@drawable/ic_menu_settings_holo_light"
            android:showAsAction="never"
            android:title="Settings" />
        <item
            android:id="@+id/menu_about"
            android:icon="@drawable/ic_menu_info_details"
            android:showAsAction="never"
            android:title="About"/>
   </menu>
</item>
</menu> 

现在使用 oncreateoptionmenu/onprepareoptionmenu 在您的活动/片段活动中扩展此菜单

这里是动作菜单的使用

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main_menu, menu);
    return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch(item.getItemId()){
    case R.id.menu_settings:
        Toast.makeText(context,"Setting menu selected",Toast.SHORT_LENGTH).show();
        break;      
    case R.id.menu_about:
        Toast.makeText(context,"About menu selected",Toast.SHORT_LENGTH).show();
        break;
    }
    return super.onOptionsItemSelected(item);
}

【讨论】:

  • 你好,如何确定按下子菜单项时的动作?
  • 非常感谢,另外,我需要在 OnCreate 方法中编写代码吗?因为我在这里提到了一些问题:stackoverflow.com/questions/15600783/… 我必须在 onCreate 方法中写一些东西吗?非常感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多