0

我想在按下菜单按钮时使用以下显示来制作菜单选项

--------------
- Logout     -
--------------
- Profile    -
--------------
- Password   -
--------------
- Add        -
--------------

但在以下设备上的结果

----------------------
- Logout   - Profile -
----------------------
- Password -   add   -
----------------------

怎么看起来像上面的图片,下面是源代码

主要的.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/action_logout"
        android:orderInCategory="100"
        android:showAsAction="withText"
        android:menuCategory="container"
        android:title="@string/action_logout"/>

    <item
        android:id="@+id/action_password"
        android:orderInCategory="100"
        android:showAsAction="withText"
        android:menuCategory="container"
        android:title="@string/action_password"/>

    <item
        android:id="@+id/action_profile"
        android:orderInCategory="100"
        android:showAsAction="withText"
        android:menuCategory="container"
        android:title="@string/action_profile"/>

    <item
        android:id="@+id/action_sync"
        android:orderInCategory="100"
        android:showAsAction="withText"
        android:menuCategory="container"
        android:title="@string/action_add"/>
</menu>

主要活动.java

package com.gap.androidgap5;


import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.View; 

import org.apache.cordova.*;

public class MainActivity extends DroidGap{

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.init();

        super.loadUrl(Config.getStartUrl());
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.main, menu);
        return true;
    }
}

4

3 回答 3

0

您不应该在您的应用程序中使用“已弃用”的菜单按钮。

它不方便,丑陋和烦人。(网上有很多文章解释的)

相反,我建议您使用操作栏。这是一个教程http://www.androidhive.info/2013/11/android-working-with-action-bar/

于 2013-11-23T11:07:25.490 回答
0

我知道这篇文章已经相当老了,但我想如果其他人遇到这个问题,我应该添加到 user2953680 的回复中。

我认为这是一个很好的区别,几乎不值得做出。溢出按钮确实取代了菜单按钮,但您可以像访问菜单按钮一样访问它。

如果您阅读 Android 的文档,他们会说在操作栏中使用图标来执行与应用程序当前上下文相关的重要操作,而其他所有内容,如帮助项或设置项都应该放在溢出菜单中。所以实际上仍然有一个供用户使用的菜单。

从菜单中排除操作项

android:showAsAction="never"

在菜单中包含操作

android:showAsAction="ifRoom"

http://developer.android.com/guide/topics/ui/actionbar.html

现在,根据 Android 版本,您的菜单与更新的 Android 版本上的菜单看起来会有所不同——我花了很长时间才弄清楚这一点。你是否可以改变他们的布局,这是我认为原始问题背后的目的,我不确定。

于 2014-09-26T20:58:42.827 回答
-1

我不知道你为什么要通过这些:

android:orderInCategory="100"
android:showAsAction="withText"
android:menuCategory="container"

检查本教程:

https://www.tutlane.com/tutorial/android/android-options-menu-with-examples

于 2020-06-09T17:03:31.497 回答