溢出菜单图标未显示

时间:2015-09-03 13:56:38

标签: android android-actionbar android-toolbar

在下面的menu.xml中,我试图在溢出菜单图标中显示menu_exit,如下所示我设置了showAsAction="never",但是当我运行应用程序时,溢出菜单不会出现。

我的问题是:

  1. 如何将最后一项放在菜单文件menu_exit的溢出菜单中?
  2. menu.xml中的第3项,当它被禁用时,显示在settings menu(设备的左下方按钮),我想要的是,当它被禁用时,它不应该出现任何地方,仅在ActionBar启用时。{/ li>

    menu.xml文件

    <menu xmlns:android="http://schemas.android.com/apk/res/android">
    
    <item
        android:id="@+id/menu_refresh"
        android:orderInCategory="1"
        android:showAsAction="ifRoom"/>
    <item
        android:id="@+id/menu_scan"
        android:checkable="true"
        android:orderInCategory="2"
        android:title="@string/menu_scan"
        android:showAsAction="ifRoom|withText"/>
    <item
        android:id="@+id/menu_stop"
        android:title="@string/menu_stop"
        android:orderInCategory="3"
        android:showAsAction="ifRoom|withText"/>
    <item
        android:id="@+id/menu_exit"
        android:title="@string/menu_stop"
        android:orderInCategory="4"
        android:showAsAction="never"/>
    </menu>
    

3 个答案:

答案 0 :(得分:2)

在Android 4.4之前,如果设备有硬件菜单按钮,则会使用硬件按钮激活操作溢出菜单,并且不会显示溢出(也称为三点)图标。

即使存在硬件菜单按钮,Android 4.4+设备也会显示动作溢出图标(同时,谷歌试图说服制造商放弃硬件菜单按钮,如您所见,供应商非常顽固)

要强制4.4之前的设备显示操作溢出按钮,即使他们有硬件按钮,也请将其放入您的活动onCreate()

try {
    ViewConfiguration config = ViewConfiguration.get(this);
    Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
    if (menuKeyField != null) {
        menuKeyField.setAccessible(true);
        menuKeyField.setBoolean(config, false);
    }
} catch (Exception ex) {
    // Ignore
}

答案 1 :(得分:0)

这是我的菜单的XML文件..

<style name="EditTextDefault" parent="@android:style/Widget.EditText">

Java代码:

<item
    android:id="@+id/action_send_feedback"
    android:orderInCategory="100"
    android:showAsAction="always"
    android:title="@string/action_send_feedback"/>

<item 
    android:id="@+id/action_share_app"
    android:orderInCategory="100"
    android:showAsAction="ifRoom"
    android:title="@string/action_share_app"
    android:icon="@drawable/ic_action_share" />

<item
    android:id="@+id/action_rate_app"
    android:orderInCategory="100"
    android:showAsAction="never"
    android:title="@string/action_rate_app"/>

对于拥有选项按钮(在手机底部)的Android手机,菜单项是showAsAction =&#34;从不&#34;按下按钮时出现...或者它们将在操作栏选项菜单上正常显示..

答案 2 :(得分:0)

如果您使用的是appcompat库,则需要更改

def cut(img,d,u):
    for x,line in enumerate(img):
        for y,px in enumerate(line):
            if px < d or px > u:
                img[x][y]=0
            else:
                img[x][y]=255   

android:showAsAction="never"

示例

app:showAsAction="never"