ActionBar 菜单在我将继承从 Activity 更改为 AppCompatActivity 后更改了它的行为

ActionBar menu Changed it's behavior after I changed inheritance from Activity to AppCompatActivity

我把我的一个旧项目导入到 Android Studio 中。 作为其中的一部分,我不得不将继承从 Activity 更改为 AppCompetActivity 以支持 ActionBar 及其新的 API.

现在我有一个意想不到的结果: 所有菜单项都被展平,而不是像这样隐藏在三点菜单图标后面:

继承自Activity:

继承自 AppCompatActivity:

有什么想法吗?

已编辑:

这是我的 menu.xml:

您需要为 menu.xml 文件中的每个菜单项添加 app:showAsAction="never" 属性。

只需像下面这样更改您的菜单项 -

<item
        android:id="@+id/menu_download_all_audio"
        android:orderInCategory="100"
        android:title="@string/menu_download_all"
        app:showAsAction="never"
        android:icon="@drawable/ic_ico_all_download"/>

如果您想将菜单隐藏在三点图标中,请使用 never

需要将命名空间 android:showAsAction 更新为 app:showAsAction 属性。使用以下代码:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:orderInCategory="100"
        android:title="Menu Item 1"
        app:showAsAction="never" />

    <item
        android:orderInCategory="100"
        android:title="Menu Item 2"
        app:showAsAction="never" />
</menu>

为 menu.xml 文件中的菜单项添加 app:showAsAction="never" 属性

<item
        android:orderInCategory="100"
        android:title="HOME"
        app:showAsAction="never" />