【问题标题】:How to customize theme.xml and theme.xml(night) in efficient way? Explain what Primary and Secondary band colors specifically used for如何有效地自定义 theme.xml 和 theme.xml(night)?解释专门用于哪些主要和次要色带颜色
【发布时间】:2021-06-10 22:04:58
【问题描述】:

在较新版本的Android Studio中,在values目录中有theme.xml和theme.xml(night) 能指出它们之间的区别吗?

colorPrimary、colorPrimaryVariant、colorOnPrimary 和 colorSecondary、colorSecondaryVariant、colorOnSecondary 在这些主题中的具体用途是什么。

res/values/colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="purple_200">#FFBB86FC</color>
    <color name="purple_500">#FF6200EE</color>
    <color name="purple_700">#FF3700B3</color>
    <color name="teal_200">#FF03DAC5</color>
    <color name="teal_700">#FF018786</color>
    <color name="black">#FF000000</color>
    <color name="white">#FFFFFFFF</color>

</resources>

res/values/themes/themes.xml

<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Theme.App" 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>
</resources>

res/values/themes/themes.xml(晚上)

<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Theme.App" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
        <!-- Primary brand color. -->
        <item name="colorPrimary">@color/purple_200</item>
        <item name="colorPrimaryVariant">@color/purple_700</item>
        <item name="colorOnPrimary">@color/purple_200</item>
        <!-- Secondary brand color. -->
        <item name="colorSecondary">@color/teal_200</item>
        <item name="colorSecondaryVariant">@color/teal_200</item>
        <item name="colorOnSecondary">@color/teal_200</item>
        <!-- Status bar color. -->
        <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
        <!-- Customize your theme here. -->
    </style>
</resources>

寻找一些代码来解释如何使用 theme.xml 和 theme.xml(夜间)将应用主题从浅色切换到深色,反之亦然。

【问题讨论】:

    标签: android xml android-studio android-theme


    【解决方案1】:

    这是 UI/UX 术语,整个想法是创建一个反映您的品牌或风格的颜色主题。

    原色是在应用的屏幕和组件中最常显示的颜色。

    辅助颜色提供了更多方式来突出和区分您的产品。 使用辅助颜色是可选的,应谨慎应用以突出 UI 的选定部分。

    例如,设计团队可能已经决定他们将使用

    绿色 - 原色 和蓝色 - 二次色

    colorPrimaryVariant? colorSecondaryVariant? 这两种颜色会有浅色和深色的“变体”,也可以使用

    colorOnPrimary? colorOnSecondary? 这些是与可访问性有关的颜色

    您有一个默认主题,然后是一个深色主题。深色主题是一种低光用户界面,主要显示深色表面。

    您需要学习 Google 材料指南以了解更多信息:https://material.io/develop/android/theming/color

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-11
      • 2015-12-28
      • 2013-02-16
      • 2015-12-16
      • 2013-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多