android - 启动屏幕结束后,Android 主题不会动态重置
问题描述
我正在我的android应用程序中实现启动画面,为此我创建了一个可绘制资源,然后在themes.xml中添加了以下内容
<style name="splashScreenTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<item name="android:background">@drawable/splash_screen_background</item>
<item name="android:statusBarColor">@color/colorBlack</item>
</style>
之后在AndroidManifest.xml文件中进行了以下更改
android:theme="@style/splashScreenTheme">
然后在MainActivity.kt我尝试了以下两种方法来动态重置主题,每次一个,然后一起
方法一
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setTheme(R.style.Theme_CardViewDashboard)
setContentView(R.layout.activity_main)
}
方法二
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
theme.applyStyle(R.style.Theme_CardViewDashboard, true)
setContentView(R.layout.activity_main)
}
但主题没有得到重置。
附上应用SplashScreen之前和应用初始屏幕之后的屏幕截图
解决方案
推荐阅读
- javascript - 如果没有 .babelrc 或任何“特殊”配置文件,你如何使用 Babel?
- celery - 当 Exchange 对象的类型为“直接”时,无法接收来自队列的消息
- node.js - 当我尝试从 Kubernetes 内部连接到 Redis 时,总是连接失败
- javascript - 如何在模板中显示导航页面的路径结构(站点地图)
- swift - 在另一个视图中舍入 NSVisualEffectView 的角
- unicode - 我可以使用半图形在终端中显示徽章吗?
- fitnesse - FitNesse:没有断言的 Slim 测试在获得 4xx/5xx 响应代码后失败
- r - 在 R 中使用 FFT 比较多个信号
- android - 如何在 RecyclerView 中应用 Ripple Effect Inner RecyclerView?
- reactjs - 在具有多项选择的 .map() 函数中为每个组件绑定 onClick