Android 新建项目专用主题文件

Android New Project only themes file

我正在使用 Android Studio 4.1.1 的新稳定版。当我创建一个新的 Android 项目时,默认情况下有 2 个 themes.xml 文件,一个在 values 下,另一个在 values-night 下。但是我没有看到 styles.xml.

themes.xml 看起来像这样 -

<style name="Theme.SampleApp" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
        <!-- Primary brand color. -->
        <item name="colorPrimary">@color/purple_500</item>
        <item name="colorPrimaryVariant">@color/purple_700</item>
        <item name="colorOnPrimary">@color/white</item>
        <!-- Secondary brand color. -->
        <item name="colorSecondary">@color/teal_200</item>
        <item name="colorSecondaryVariant">@color/teal_700</item>
        <item name="colorOnSecondary">@color/black</item>
        <!-- Status bar color. -->
        <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
        <!-- Customize your theme here. -->
    </style> 

我的问题是-

  1. 我是否需要为我的个人观点创建 styles.xml,或者我是否也可以开始添加 themes.xml
  2. 如果我需要创建一个 styles.xml,我应该在 values 下创建一个,在 values-night 下创建另一个吗?
  3. 为什么 themes.xml 不见了 colorAccent

Do I need to create a styles.xml for my individual views or could I start adding in the themes.xml as well?

没有什么能阻止您将各个视图的样式放入 themes.xml。据推测,Google 的愿景是在 themes.xml 中包含与主题相关的内容,并在您创建的 styles.xml 中包含其他样式。

最后,res/values/ 和相关目录(例如 res/values-night/)中的文件名并不重要。您可以将样式和主题放在 styles.xmlthemes.xmlmaria.xml 或其他位置。

If I need to create a styles.xml should I create them one under values and an other under values-night?

仅当您需要为常规使用和夜间模式设置不同的样式时。

Why is the themes.xml missing colorAccent?

Android Studio 4.1 未使用 AppCompat 主题。相反,它使用 MaterialComponents 主题,来自 Android 的 Material 组件。这些主题使用 a different color system 而不是 AppCompat。