Хорошо, я нашел ответ: основная проблема заключалась в том, что я использовал android: тема, а не стиль, чтобы применить стиль TabLayout.
Теперь я делаю это:
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/AppTheme.TabLayout"/>
А вот AppTheme.TabLayout:
<style name="AppTheme.TabLayout" parent="Widget.MaterialComponents.TabLayout.Colored">
<item name="tabIndicatorColor">@color/colorOnPrimary</item>
</style>
Как указано здесь , мне не нужно создавать свой собственный стиль для переопределения tabIndicatorColor, так как он уже должен принимать colorOnPrimary Я определил в своих цветах. xml. Кажется, есть ошибка.