You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

误删themes.xml(night)文件,求助创建夜间主题文件以启用暗黑模式

恢复夜间主题文件(themes.xml(night))的正确方法

一、正确创建夜间主题文件的步骤

  • 不要手动重命名文件,直接通过Android Studio的系统流程创建:
    1. 打开项目的res/values目录,右键点击 -> New -> Values resource file
    2. 在弹出窗口中,文件名填写themes,然后找到Available qualifiers里的Night mode,双击添加到Chosen qualifiers列表
    3. 确认设置后点击OK,Android Studio会自动在res/values-night目录下生成themes.xml文件,这就是你需要的夜间主题文件

二、夜间主题文件的基础代码示例

打开生成的res/values-night/themes.xml,填入以下基础代码(可根据应用需求调整):

<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- 夜间主题,可继承日间主题或Material Components深色主题 -->
    <style name="Theme.YourAppName" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
        <!-- 主品牌颜色 -->
        <item name="colorPrimary">@color/night_primary</item>
        <item name="colorPrimaryVariant">@color/night_primary_variant</item>
        <item name="colorOnPrimary">@color/white</item>
        <!-- 次品牌颜色 -->
        <item name="colorSecondary">@color/night_secondary</item>
        <item name="colorSecondaryVariant">@color/night_secondary_variant</item>
        <item name="colorOnSecondary">@color/black</item>
        <!-- 状态栏颜色 -->
        <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
        <!-- 可在此自定义其他主题属性 -->
    </style>
</resources>
  • 注意替换Theme.YourAppName为你应用实际的主题名称,同时确保res/values/colors.xml中已定义对应的夜间颜色值(如night_primary等)

三、避免覆盖常规主题的注意事项

  • 日间主题文件存放在res/values/themes.xml,夜间主题在res/values-night/themes.xml,二者属于不同目录,不会互相覆盖
  • Android资源系统是通过资源限定符目录(如values-night)区分夜间资源的,不需要给文件名添加(night)后缀,这也是你之前报错的原因

内容的提问来源于stack exchange,提问作者Vishwajith Shettigar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 13:50:33