drm*_*wer 6 android themes android-manifest
我正在尝试在运行时设置我的Activity的主题,选择一个主题.我希望所选主题在活动启动时立即显示.
在<application>
我的清单部分,我设置了一个默认主题android:theme="@style/AppTheme"
.然后在我用onCreate()
我setTheme(R.style.DarkAppTheme)
将主题设置为用户选择的主题(替换DarkAppTheme
为选定的主题).
基于研究,似乎setTheme()
应该在之前onCreate()
和之前进行setContentView()
,我这样做.
但是,虽然这可以在用户选择的主题中显示活动,但活动首先加载看起来像默认主题的内容,然后在短暂的延迟后加载正确的主题.
如果我直接在清单中设置用户选择的主题,它会立即加载,但当然这是硬编码的,我想根据共享首选项动态更改它.
如何避免可见的转换?我希望从一开始就显示用户选择的主题.
谢谢.
AndroidManifest
如果Activity
加载时间太长,主题就会出现。您可以尝试调整Activity
负载和删除android:theme="@style/AppTheme"
负载AndroidManifest
,甚至在这两种使用之间设置折衷方案。
希望对你有帮助\o/
归档时间: |
|
查看次数: |
906 次 |
最近记录: |