gpt4 book ai didi

java - 我可以为特殊配置获取颜色资源的颜色吗?

转载 作者:行者123 更新时间:2023-11-29 19:10:30 25 4
gpt4 key购买 nike

例如,假设我们在 values/colors.xml 中有一个颜色资源:

<color name="navigation_drawer_overlay">#66000000</color>

和 values-night/colors.xml 中相同的颜色资源:

<color name="navigation_drawer_overlay">#33AAAAAA</color>

默认情况下,当我在 java 源代码中获取此颜色时:

ContextCompat.getColor(getContext(), R.color.navigation_drawer_overlay);

它将根据自动配置检测进行抓取。

但我想获取特殊配置(在我的例子中是 values-night 版本)

有没有办法强制获取我想要的配置的资源?

我可以强制获取 -night 颜色资源吗?

最佳答案

您可以试试这个解决方法:

1) 在 colors.xml 中设置两种颜色,如下所示:

<color name="navigation_drawer_overlay_day">#66000000</color>
<color name="navigation_drawer_overlay_night">#33AAAAAA</color>

2) 在 class 中,当你需要改变颜色时,这样做:

switch (AppCompatDelegate.getDefaultNightMode()) {

case AppCompatDelegate.MODE_NIGHT_YES:

ContextCompat.getColor(getContext(), R.color.navigation_drawer_overlay_night);

break;

case AppCompatDelegate.MODE_NIGHT_NO:

ContextCompat.getColor(getContext(), R.color.navigation_drawer_overlay_day);

break;
}

关于java - 我可以为特殊配置获取颜色资源的颜色吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45534270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com