如何为设备的暗模式和亮模式固定背景颜色

Posted

技术标签:

【中文标题】如何为设备的暗模式和亮模式固定背景颜色【英文标题】:How to make Background Color fixed for dark mode and light mode of the device 【发布时间】:2021-09-13 09:22:38 【问题描述】:

您好,我想知道如何为 ui 元素设置固定颜色,无论 android 设备处于亮模式还是暗模式

在我的情况下,有一些问题,设备的浅色模式下的视图设置为我在浅色模式下给定的颜色背景,但是当我将设备切换到深色模式时,视图将其颜色更改为我没有设置的深灰色

有什么方法可以解决这个问题,还有关于我将来如何使用每个 ui 元素做到这一点的任何提示

这是我的代码

BottomSheet.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_
    android:layout_>

    <View
        android:id="@+id/slidedownview"
        android:layout_
        android:layout_
        android:layout_alignParentTop="true"
        android:layout_centerInParent="true"
        android:layout_marginTop="10dp"
        android:background="@drawable/rounded_corner_bottomsheetline"/>

</RelativeLayout> 

rounded_corner_bottomsheetline

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:endColor="@color/lite_grey"
        android:startColor="@color/lite_grey" />
    <corners
        android:bottomLeftRadius="25dp"
        android:bottomRightRadius="25dp"
        android:topLeftRadius="25dp"
        android:topRightRadius="25dp" />

</shape>

颜色代码

<color name="lite_grey">#e2e2e2</color>

输出 //暗模式

你可以看到视图是我设置的深灰色,我设置的颜色是#e2e2e2

输出 // 普通或光照模式

【问题讨论】:

【参考方案1】:

检查themes.xml 文件夹并为白天和夜间主题设置相同的颜色

【讨论】:

如果可能的话,你能给我一些例子吗 打开themes.xml文件夹并检查白天和晚上的所有值是否相同 其实还有一个问题,背景不固定,我不知道如何在主题中实现drawble布局 什么问题?将其添加到问题中 在视图中添加android:backgroundTint="@null",它会解决问题

以上是关于如何为设备的暗模式和亮模式固定背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

让用户在暗模式和亮模式之间进行选择(保存每个页面的设置,cookie?)

iOS 13 中的暗模式启动屏幕

如何为 wkwebview 使用 iOS 13 暗模式

更改选项卡式视图 SwiftUI 的凹槽区域背景颜色

如何为导航项设置背景颜色?

如何为 QPushButton 的背景颜色设置动画(动态更改按钮颜色)