应该很简单,但可能不够。充气ActionBarSherlock菜单中定义的XML
在Android 3.0+中使用操作栏时,您可以选择使用XML或代码定义菜单项。我更喜欢在xml中对它们进行编码,因为操作栏感觉更多基于UI的功能。
平均每天,你会用它来将XML膨胀成一个菜单
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Menu is defined inside 'res/menu/...xml
getMenuInflater().inflate(R.menu.activity_home, menu);
return true;
}
而且你的XML文件看起来像这样
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/menu_settings"/>
<item
android:id="@+id/menu_item_menu"
android:icon="@drawable/menu_off_128"
android:showAsAction="ifRoom|withText"
android:title="@string/inbox_string"/>
<item
android:id="@+id/menu_item_gallery"
android:icon="@drawable/gallery_off_128"
android:showAsAction="ifRoom|withText"
android:title="@string/gallery_string"/>
<item
android:id="@+id/menu_item_inbox"
android:icon="@drawable/inbox_off_128"
android:showAsAction="ifRoom|withText"
android:title="@string/inbox_string"/>
<item
android:id="@+id/menu_item_contact"
android:icon="@drawable/phone_off_128"
android:showAsAction="ifRoom|withText"
android:title="@string/contact_string"/>
</menu>
现在,我面对使操作栏向后兼容的问题和操作栏锁定似乎是最令人愉快的使用和流行。 所以我用actionbarsherlock尝试了上面的内容,遗憾的是编译时间问题。
即,inflater返回的Menu类是从'Android.view.menu'而不是'com.actionbarsherlock.menu'。我在github上挖掘了样本,但他们都有代码中定义的菜单。
那么,有任何人得到一个actionbarsherlock菜单使用基于XML文件的布局?
com.actionbarsherlock.view.Menu在那里我会得到这个类..这里是我的链接http://stackoverflow.com/questions/12779308/how-to-use-menu-in-layout的问题。我可以使用这个上面的例子来我的项目。 – 2012-10-08 11:47:33
你们是否可以通过任何机会与Robolectric进行测试?它看起来不能从资源中充气我的菜单,并给出一个Resources $ NotFoundException。 – 2014-01-05 01:09:20