【发布时间】:2026-01-06 22:50:01
【问题描述】:
在我的应用加载之前,我可以使用改变加载屏幕的颜色
<resources>
<style name="Theme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<item name="android:background">#FF444444</item>
</style>
</resources>
但是,如果我这样做,我将无法再加载材料设计库的 TimePickerView,因为它显示 Binary XML file line #57: Error inflating class com.google.android.material.timepicker.TimePickerView,更重要的是,Attempted to get ShapeAppearanceModel from a MaterialButton which has an overwritten background.
一旦我删除了上面的android:background,一切都很好。除了我的加载屏幕现在是白色的。
那么,有没有办法在没有上述 XML 属性的情况下更改加载屏幕颜色,希望我可以让材料的TimePicker 工作?或者也许是另一种解决方法?
(我已经找到了如何完全禁用加载屏幕,但第二个左右的等待并不理想。)
【问题讨论】:
-
你可以尝试使用
android:windowBackground代替 -
谢谢,我试过了,但没有成功。
-
尝试在
setContentView()调用后立即使用window.decorView.setBackgroundColor(some_color)并从样式中删除背景...希望现在可以使用 -
试试这个也设置
android:colorBackground&android:windowBackground具有相同的颜色,并删除android:Background -
你说得对,赞恩。
android:windowBackground确实有效。但只有当颜色来自@color/whatever而不是字符串时...
标签: android timepicker material-components-android