Согласно документам, мне нужны только установить android:forceDarkAllowed=true
в моем манифесте активности и унаследовать тему от parent="Theme.MaterialComponents.DayNight"
. Я пробовал это, но это не сработало.
Вот мой файл манифеста:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:forceDarkAllowed="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
А вот мои styles.xml
стили:
<style name="AppTheme" parent="Theme.MaterialComponents.Light">
...
</style>
<style name="AppTheme.Dark" parent="Theme.MaterialComponents.DayNight">
...
</style>
Я попытался получить название темы действия, используя следующий код:
resources.getResourceName(
packageManager.getPackageInfo(packageName, PackageManager.GET_META_DATA)
.applicationInfo.theme
)
Он показывает мне com.example.name:style/AppTheme
, а не AppTheme.Dark
. Как сделать так, чтобы при запуске приложения MainActivity
автоматически настраивался на использование AppTheme.Dark
(т. Е. Темного режима) с android:forceDarkAllowed
?