旋转主题更改

时间:2018-06-09 13:58:55

标签: android performance android-layout android-theme

我的应用程序中有很多主题问题,当旋转屏幕时,横向显示,主题更改并返回“默认”,我正在使用AppCompat的DayNight模式,当旋转屏幕时,模式返回“天”。 我已经尝试了几件事,但保存了应用程序的所有内容,并在onResume设置中重新创建活动,新主题(夜晚)变得非常沉重,延迟2到3秒,这完全打破了用户返回时的体验到recyclerView。

清单

 <activity
        android:name=".videoPlayer.PlayerActivity"
        android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize|uiMode"
        android:label="Player"
         />

我的主题

    <style name="AppTheme" parent="Theme.AppCompat.DayNight.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/secondary</item>
    <item name="android:statusBarColor">@color/primary_dark</item>
    <item name="android:textColorSecondary">@color/backgroundColor</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:textColorPrimary">@color/primary_text</item>
</style>

在MainActivity上设置DayNight主题

     getDelegate().setLocalNightMode(
                    AppCompatDelegate.MODE_NIGHT_YES);
            recreate();

1 个答案:

答案 0 :(得分:0)

经过几个小时的搜索,我刚刚补充道:

 getDelegate().setLocalNightMode(
                    AppCompatDelegate.MODE_NIGHT_YES);

在扩展应用程序的类中。