1

我正在使用新的稳定版 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
4

1 回答 1

1

我是否需要为我的个人视图创建一个styles.xml,或者我也可以开始添加themes.xml?

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

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

如果我需要创建一个styles.xml,我应该在values 下创建一个,在values-night 下创建另一个吗?

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

为什么themes.xml 缺少colorAccent?

Android Studio 4.1 没有使用AppCompat主题。相反,它使用MaterialComponents了来自 Android 的 Material Components 的主题。这些主题使用与 AppCompat不同的颜色系统。

于 2020-11-15T15:11:08.187 回答