菜单项未显示在工具栏上

menu items not showing on toolbar

我已经搜索并发现其他也有同样的问题,但我仍然无法解决菜单项未显示在操作栏中的问题。我会post我的行动条码,menu_main.xml和MainActivity

<?xml version="1.0" encoding="utf-8"?>
    <android.support.v7.widget.Toolbar
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/ColorPrimary"
        android:minHeight="?attr/actionBarSize"
        android:elevation="10dp"
        >


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="PROJECT TIMELINE"
        android:id="@+id/toolbar_title"
        android:textStyle="bold"
        android:textSize="20sp"
        android:textColor="@color/ColorPrimaryDark" />

</android.support.v7.widget.Toolbar>

这是来自menu_main.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MainActivity">


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

    <item android:id="@+id/search"
        android:title="@string/Search"
        android:icon="@drawable/ic_action"
        app:showAsAction="ifRoom"
        />

</menu>

我在 MainActivity.java

中写了这个
public boolean onCreateOptionsMenu(Menu menu){
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu_main, menu);
    return super.onCreateOptionsMenu(menu);
}

初始化工具栏并在 Activity

onCreate 中调用此方法
setSupportActionBar(yourToolbar);

您必须确保将工具栏设置为操作栏。在您的 onCreate 方法中:

public void onCreate(Bundle savedInstanceState) {

  setContentView(yourlayoutview);
  Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
  if (toolbar != null)
    setSupportActionBar(toolbar);
}

确保将 id 添加到工具栏:

   <?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/ColorPrimary"
    android:minHeight="?attr/actionBarSize"
    android:elevation="10dp"
    >


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="PROJECT TIMELINE"
        android:id="@+id/toolbar_title"
        android:textStyle="bold"
        android:textSize="20sp"
        android:textColor="@color/ColorPrimaryDark" />

</android.support.v7.widget.Toolbar>

对于那些使用带导航工具栏的用户 ui,请确保在 NavigationUI.setupWithNavController() 之前调用 setSupportActionBar(yourToolbar) 否则您的工具栏按钮(主要是后退按钮)将无法使用。