如何根据深色/浅色主题更改布局背景图像?

     2023-02-16     155

关键词:

【中文标题】如何根据深色/浅色主题更改布局背景图像?【英文标题】:How to change a layout background image depending on Dark/Light theme? 【发布时间】:2021-12-30 14:04:29 【问题描述】:

我有两张图片。我想这样做:当用户打开具有 Light 主题的应用程序时 - 第一个图像被用作布局的背景。当用户使用深色主题打开应用时 - 第二张图片将用作布局的背景。

要解决这个文本颜色问题,我们可以使用 styles.xmlcolors-day/night.xml 和一行代码:<item name="android:textColor">@color/textColor</item>

我已尝试对图像和两个 样式 文件进行相同的处理:<item name="android:background">@drawable/day</item>

但此功能将背景应用于屏幕上的每个元素,而不仅仅是主布局。

我知道,我可以通过使用 if 语句和 layout.setBackgroundResource(R.drawable.day/night); 更改背景以编程方式完成此操作

但也许它可以像文本颜色那样使用 XML 来完成?

【问题讨论】:

【参考方案1】:

要解决文本颜色的这个问题,我们可以使用 styles.xml 和 colors-day/night.xml 和一行代码:@color/textColor

你需要做同样的事情,但不是res/values/colors.xml,它应该在drawable上完成res/drawable/day

因此,您将在 res 目录中有一个 drawabledrawable-night 文件夹,每个文件夹都应该有一个具有相同名称的 day 图像的唯一版本。

它们应该看起来像在 Android Studio(Android 预览版)中:

并且通常使用属性name="android:background">@drawable/day</item>

【讨论】:

如何在 Qt C++ 中根据主题更改图标?如果可用的主题是深色或浅色

】如何在QtC++中根据主题更改图标?如果可用的主题是深色或浅色【英文标题】:HowtochangeiconsbasedonthemeinQtC++?Ifavailablethemesaredarkorlight【发布时间】:2014-11-0808:40:23【问题描述】:我有一个基于Qt的文本编辑器程序。它的默认主题... 查看详情

根据主题更改 Drawable

】根据主题更改Drawable【英文标题】:ChangeDrawableBasedonTheme【发布时间】:2012-11-2400:19:10【问题描述】:我有两种不同颜色的图像,对应于Android中的两个不同主题。我想在我的操作栏中使用它们。我想为图标引用可绘制对象,与... 查看详情

windowbackground 在深色和浅色主题中不起作用

】windowbackground在深色和浅色主题中不起作用【英文标题】:windowbackgroundnotworkindarkandlighttheme【发布时间】:2019-11-1310:10:20【问题描述】:我有一个用户可以选择浅色或深色的主题,一切正常,但是有两个问题:当我打开应用程... 查看详情

如何更改状态栏颜色

】如何更改状态栏颜色【英文标题】:HowtochangeStatusbarcolor【发布时间】:2021-11-0511:17:52【问题描述】:在我的应用程序中,当我使用浅色主题时它可以正常工作,但是当我使用深色主题时,除了状态(主要深色)栏仍然是浅色... 查看详情

有没有办法根据应用程序主题更改初始屏幕颜色?

...主题?有点像当系统主题设置为深色时,WhatsApp启动画面如何在深色主题中加载。深色和浅色What 查看详情

Jetpack Compose:如何以编程方式将主题从浅色模式更改为深色模式 onClick

】JetpackCompose:如何以编程方式将主题从浅色模式更改为深色模式onClick【英文标题】:JetpackCompose:HowtochangethemefromlighttodarkmodeprogrammaticallyonClick【发布时间】:2021-03-1909:21:34【问题描述】:TL;DR在点击时更改主题并在明暗主题之间... 查看详情

如何在 Storybook 6.0 中自定义深色和浅色主题

】如何在Storybook6.0中自定义深色和浅色主题【英文标题】:HowtocustomizebothdarkandlightthemesinStorybook6.0【发布时间】:2020-11-1016:07:30【问题描述】:我正在使用浅色和深色主题制作PWA,我想创建我的Storybook浅色和深色主题来反映这些... 查看详情

如何根据主题更改状态栏/导航栏颜色/亮度?

】如何根据主题更改状态栏/导航栏颜色/亮度?【英文标题】:Howtochangestatusbar/navigationbarcolor/brightnesswithrespectivetotheme?【发布时间】:2022-01-2002:58:27【问题描述】:使用Getx进行主题化,但在根据浅色/深色主题更改状态栏图标亮... 查看详情

如何在 VSCode 用户设置中为深色和浅色主题指定颜色

】如何在VSCode用户设置中为深色和浅色主题指定颜色【英文标题】:HowtospecifycolourfordarkandlightthemeingeneralinVSCodeusersettings【发布时间】:2020-10-1307:11:04【问题描述】:我想为深色或浅色主题变体自定义VSCode颜色设置一般,例如:"w... 查看详情

根据渲染的背景图片更改 barStyle React Native

...到这个,或者我可能使用了错误的关键字进行搜索,但是如何根据渲染的背景图像的颜色更改ReactNative上的barStyle(浅色内容/深色内容)编辑:我有一个渲 查看详情

如何在 vuetify 的浅色主题中启用具有自定义颜色的深色模式?

】如何在vuetify的浅色主题中启用具有自定义颜色的深色模式?【英文标题】:Howtoenabledarkmodewithcustomcolorsinlightthemeinvuetify?【发布时间】:2020-01-0800:50:53【问题描述】:我正在使用vuetify2.0,我遇到了一个问题,在我的vuetify.js文件... 查看详情

根据深色模式更改的默认背景颜色 res 是啥? [安卓]

】根据深色模式更改的默认背景颜色res是啥?[安卓]【英文标题】:What\'sthedefaultbackgroundcolourreswhichchangesbasedondarkmode?[Android]根据深色模式更改的默认背景颜色res是什么?[安卓]【发布时间】:2021-12-1016:23:05【问题描述】:我有一... 查看详情

如何更改 Vuetify 中数据表的背景颜色?

】如何更改Vuetify中数据表的背景颜色?【英文标题】:HowtochangebackgroundcolorofdatatablesinVuetify?【发布时间】:2019-06-1613:42:17【问题描述】:我想整体更改数据表的背景颜色。我不想使用深色主题或浅色主题。即使使用!important或使... 查看详情

是否有 API 可以检测操作系统正在使用哪个主题 - 深色或浅色(或其他)?

】是否有API可以检测操作系统正在使用哪个主题-深色或浅色(或其他)?【英文标题】:IsthereanAPItodetectwhichthemetheOSisusing-darkorlight(orother)?【发布时间】:2019-09-1105:04:46【问题描述】:背景在最近的Android版本上,从Android8.1开始... 查看详情

如何在带有深色主题的android上更改chrome中状态栏的颜色?

】如何在带有深色主题的android上更改chrome中状态栏的颜色?【英文标题】:Howtochangethecolorofthestatusbarinchromeonandroidwithadarktheme?【发布时间】:2021-09-1903:37:21【问题描述】:我遇到了这样的问题-尽管有清单和元标记,但当我为andro... 查看详情

深色主题和浅色主题问题——android studio(夜间)

】深色主题和浅色主题问题——androidstudio(夜间)【英文标题】:Darkthemeandlightthemeproblem-androidstudio(night)【发布时间】:2021-12-2111:44:43【问题描述】:我会尽量详细解释,请帮忙。我打开了一个新项目,在新项目中“主题”部分... 查看详情

如何在 react-native 应用程序中更改 android 的键盘主题?

】如何在react-native应用程序中更改android的键盘主题?【英文标题】:Howtochangethemeofthekeyboardforandroidinreact-nativeapp?【发布时间】:2020-08-1017:50:07【问题描述】:我有一个基于react-native的应用程序,有两个主题:浅色和深色。当浅... 查看详情

基于系统明暗模式的动态主题变化

...将应用的主题更改为深色主题或浅色主题。但是,我无法根据MobileSystem的亮模式或暗模式更改应用的暗模式或亮模式。我正在 查看详情