问题描述
我正在通过扩展 View 类为 android 开发一个绘图应用程序。在 onDraw 方法中,每次调用 onDraw 时,我都使用 canvas.drawColor(Color.WHITE) 绘制背景并在其上绘制其他内容。应用于设备,我的自定义视图的背景更改为黑色。我怎样才能阻止这种情况?
解决方法
确保您的应用的主题不是从 Theme.MaterialComponents.DayNight
继承,而是从 Theme.MaterialComponents.Light
或它的某个版本继承以进一步禁用夜晚。如果您需要使用 Theme.MaterialComponents.DayNight
主题,那么您可以在 values/colors.xml
和 values-night/colors.xml
上指定颜色。该应用将使用 values-night/colors.xml
颜色作为夜间主题。
为您的自定义视图设置背景颜色不要将其保留为默认颜色。 Android 更改主题更改时的默认颜色。
另一种解决方案是将主题设置为
<style name="App.Theme" parent="Theme.MaterialComponents.Light.NoActionBar.Bridge">
但是无论系统/手机主题如何,这都会导致主题始终为浅色。