平板电脑中的Android操作栏菜单

时间:2013-05-22 06:55:05

标签: android

在我创建的新应用程序中,我获得了用于创建菜单的自动生成代码:

    @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>

但是没有菜单按钮,我错过了什么吗?

3 个答案:

答案 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);
    }

您应该使用MenuMenuInflater actionbarsherlock ..

implemention of ActionBarSherlock

上查看此链接

答案 2 :(得分:0)

尝试   

<item
    android:id="@+id/action_settings"
    android:showAsAction="always"
    android:title="@string/action_settings"/>
<item android:id="@+id/item1"></item>