使用自定义 actionbar/toolbar 视图创建选项菜单

Create Options Menu with custom actionbar/toolbar view

我已经为我的操作栏实现了自定义视图。除此之外,我还需要一个 OptionMenu。 有什么方法可以继续使用默认的选项菜单吗?我不想自己设计整个菜单及其功能。

顺便说一句,我的 activity 扩展了 android.support.v7.app.AppCompatActivity


为我的操作栏实现自定义视图的代码

custom_action_bar.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:contentInsetEnd="0dp"
app:contentInsetStart="0dp">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <Button
        android:id="@+id/custom_B"
        android:layout_width="60dp"
        android:layout_height="30dp" />
</LinearLayout>
</android.support.v7.widget.Toolbar>

我把它包含在我的主目录中 XML:

<include
layout="@layout/custom_action_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content" />

对于 OptionsMenu,我放置了一些从未打印的日志

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    Log.i(Constants.APP_NAME, "hello1");
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    Log.i(Constants.APP_NAME, "hello2");
}

别忘了在 activity 中调用 setSupportActionBar()

如果没有此调用,则永远不会调用关联的菜单方法,因为 Activity 认为没有工具栏。