app:showAsAction 始终显示 "never" 属性

app:showAsAction is always showing "never" attribute

我只是一个初学者,所以我试图制作一个 Android 应用程序来专门了解 menu.xmlActionBar。所以我正在尝试添加 MenuItems,这是我的 menu.xml 代码:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:PizzaApp="http://schemas.android.com/apk/res-auto"
    tools:context=".MainActivity">

    <item android:id="@+id/action_order_pizza"
          android:icon="@drawable/order_pizza"
          android:title="@string/order_pizza"
          android:orderInCategory="1"
          PizzaApp:showAsAction="ifRoom"/>

    <item android:id="@+id/action_settings"
          android:title="@string/action_settings"
          android:orderInCategory="2"
          PizzaApp:showAsAction="never"/>

</menu>

因为我想让我的应用程序使用 Material design,我实际上没有 extend AppCompatActivity,但我使用了 support.v7.app 依赖项,只是为了让应用兼容。现在由于 support.v7.app 库不包含 showAsAction 函数,我在 menu.xml 中使用了我的 AppName 而不是 android。但问题是,除了 action_setting 项目,action_order_pizza 也出现在 overflow 而不是 ActionBar 中。请帮忙!这是 MainActivity 代码:

import android.content.Intent;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return super.onCreateOptionsMenu(menu);
    }

提前致谢!

Note: If I'm using android instead of PizzaApp, Android Studio shows an error though still when you run the app, it works fine!

如果您想使用 AppCompat 的任何部分,例如 app:showAsAction,您应该扩展 AppCompatActivity 并使用 Theme.AppCompatTheme.AppCompat extends Theme.Material 并允许您在所有 API 9+ 设备上使用 material 设计。