Почему по-умолчанию в теме MaterialComponents.PrimarySurface для виджетов цвет MenuItem в Toolbar не реагирует на состояние enabled?

В своём приложении я использую тему, унаследованную от Theme.MaterialComponents.DayNight. У меня есть Toolbar, лежащий внутри AppBarLayout — для обоих в качестве стиля установлены их Widget.MaterialComponents.*.PrimarySurface. В коде моей Activity я вызываю setSupportActionBar(), и навешиваю моё меню при помощи onCreateOptionsMenu(). В меню есть ровно один элемент, для которого по-умолчанию установлен enabled=false, и на отдельном рендере меню он затемнён, как и подобает его состоянию. Но если добавить его на рендер моей Activity, да и при запуске на устройстве, этот элемент при любом состоянии выглядит так, будто enabled=true.

На данный момент, никакой панацеи, кроме кастомного селектора, я не нашёл. Существует ли возможность через разметку темы исправить это, не прибегая к использованию кастомного селектора или ручного указания прозрачности в коде? И самое главное — почему это работает так, как работает сейчас? В AppCompat темах с этим не возникает проблем, но я не могу их использовать, поскольку мне необходима ExtendedFloatingActionButton.

Стили

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar.Bridge">
        <item name="colorPrimaryDark">?attr/colorSurface</item>
        <item name="windowActionModeOverlay">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
        <item name="actionModeBackground">?attr/colorPrimary</item>
    </style>

    <style name="AppTheme.DeepCyan" parent="AppTheme">
        <item name="colorPrimary">@color/cyan_900</item>
        <item name="colorPrimaryVariant">@color/cyan_900_light</item>
        <item name="colorPrimaryDark">@color/cyan_900_dark</item>
        <item name="colorOnPrimary">@color/white_900</item>
        <item name="colorSecondary">@color/red_A200</item>
        <item name="colorSecondaryVariant">@color/red_A200_light</item>
        <item name="colorOnSecondary">@color/black_900</item>
    </style>

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.MaterialComponents.ActionBar">
        <item name="android:textColorPrimary">?attr/colorOnPrimary</item>
    </style>

</resources>

Цвета (для полноценного воспроизведения)

<resources>
    <color name="black_900">#000000</color>
    <color name="cyan_900">#006064</color>
    <color name="cyan_900_light">#428e92</color>
    <color name="cyan_900_dark">#00363a</color>
    <color name="red_A200">#ff5252</color>
    <color name="red_A200_light">#ff867f</color>
    <color name="red_A200_dark">#c50e29</color>
    <color name="white_900">#ffffff</color>
</resources>

Разметка меню

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

    <item
        android:id="@+id/confirm_setup_action"
        android:enabled="false"
        android:icon="@drawable/ic_check_mark"
        android:title="@string/action_confirm_creation_title"
        android:visible="true"
        app:showAsAction="always" />

</menu>

Разметка Activity

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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="match_parent"
    android:orientation="vertical">

    <com.google.android.material.appbar.AppBarLayout
        style="@style/Widget.MaterialComponents.AppBarLayout.PrimarySurface"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay"
        app:elevation="0dp">

        <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            style="@style/Widget.MaterialComponents.Toolbar.PrimarySurface"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:popupTheme="@style/ThemeOverlay.AppCompat.DayNight"
            app:menu="@menu/menu_setup_fragments"/>

    </com.google.android.material.appbar.AppBarLayout>
</LinearLayout>

Код Activity

public class MainActivity extends AppCompatActivity {

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

        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
    }

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

На рендере меню

На рендере Activity


Ответы (0 шт):