Я меняю тему моего приложения с AppCompat
на MaterialComponents
, и все, кроме диалоговых окон с предупреждениями, работает. Я уже установил тему приложения на MaterialComponents
как в стилях, так и в манифесте.
стилей
<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<item name="colorPrimary">@color/grey</item>
<item name="colorPrimaryDark">@color/black</item>
<item name="colorAccent">@color/red</item>
<item name="colorSurface">@color/white</item>
<item name="colorOnSecondary">@color/white</item>
<item name="colorSecondary">@color/red</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.MaterialComponents.Dark.ActionBar"/>
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.MaterialComponents.Light"/>
build.gradle
implementation 'com.google.android.material:material:1.1.0'
AndroidManifest
<application
android:allowBackup="true"
android:fullBackupContent="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:ignore="GoogleAppIndexingWarning">
Это код, с которым я пытаюсь отобразить мой диалог:
MaterialAlertDialogBuilder(context)
.setTitle(R.string.tip_title)
.setMessage(R.string.tip)
.setNeutralButton(R.string.ok, null)
.setPositiveButton(R.string.do_not_show_again) { _, _ ->
preferencesHelper.disableTip()
}.show()
И наконец, я получаю сообщение об ошибке:
java .lang.IllegalArgumentException: стиль для этого компонента требует, чтобы тема вашего приложения была Theme.AppCompat (или потомок).
Как я могу исправить эту ошибку?