在工具栏的自定义布局中找不到切换兼容性的参考

Can't find reference to switch compat in custom layout in toolbar

我正在尝试将 switchcompat 添加到工具栏,菜单项引用了自定义布局

toolbar_switch.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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_marginRight="8dp"
android:layout_height="match_parent">

<android.support.v7.widget.SwitchCompat
    android:layout_width="wrap_content"
    app:showText="false"
    android:id="@+id/switch_online"
    android:layout_centerInParent="true"
    android:layout_height="wrap_content" />

</RelativeLayout>

menu_main_activity.xml

<?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:id="@+id/menu_toggle"
    android:actionLayout="@layout/toolbar_switch"
    app:showAsAction="always"
    android:title="" />
</menu>

如果我将菜单项设置为图像或文本,菜单会在 activity 中膨胀,但当我将其指向自定义布局时它不会显示

    setSupportActionBar(toolbar);
    actionBar = getSupportActionBar();
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    toolbar.setOnMenuItemClickListener(this);

    switchOnline = (SwitchCompat)toolbar.findViewById(R.id.switch_online);

我的应用主题是基于 AppCompat

由于您使用的是支持操作栏,因此您需要使用 app:actionLayout 来指定您的自定义视图。