在我创建的新应用程序中,我获得了用于创建菜单的自动生成代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
我在menu.xml
添加了项目<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
<item android:id="@+id/item1"></item>
</menu>
但是没有菜单按钮,我错过了什么吗?
答案 0 :(得分:1)
修改强>
在菜单定义中输入:
android:showAsAction="never"
将其更改为:
android:showAsAction="always"
选中此示例,包括菜单图标:
<item
android:id="@+id/menu_calendar"
android:title="@string/calendar"
android:icon="@drawable/ic_menu_calendar_holo_light"
android:showAsAction="always|withText" />
always
表示始终显示按钮。您可以将其替换为ifRoom
,如果它是菜单,例如设置应作为选项显示在菜单中,但不会一直显示。
withtext
表示如果有足够的位置,菜单标题将显示在图标旁边。
有关所有这些选项的详细信息,请here。
对于其他人,您需要在ActionBar
函数中创建并显示onCreate()
:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//you might need this line if you are not using the Holo theme
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
setContentView(R.layout.main_activity);
ActionBar actionBar = getActionBar();
actionBar.show();
(...)
答案 1 :(得分:0)
检查您使用的导入。检查下面的例子
import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
...
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.menu, menu);
return super.onCreateOptionsMenu(menu);
}
您应该使用Menu
和MenuInflater
actionbarsherlock ..
答案 2 :(得分:0)
尝试
<item
android:id="@+id/action_settings"
android:showAsAction="always"
android:title="@string/action_settings"/>
<item android:id="@+id/item1"></item>