【问题标题】:what is the default text color code in night theme?夜间主题中的默认文本颜色代码是什么?
【发布时间】:2023-02-14 17:39:52
【问题描述】:

我没有更改其余代码的文本颜色,而是更改了一个编辑文本。所以当夜间主题切换时,其余代码的文本颜色会自动更改,但我手动更改的那个不会。

我想为我的编辑文本提供相同的颜色,这样它看起来与我的代码的其余部分没有什么不同。

【问题讨论】:

    标签: xml kotlin android-edittext textcolor


    【解决方案1】:

    colors.xml 中定义您想要的颜色 daynight 这两个主题的颜色都将用于您指定的颜色。 将这些颜色中的每一种都放在受人尊敬的主题中。例子:

    day

    <style name="Theme.Shindig" 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">?attr/colorPrimaryVariant</item>
        <!-- Customize your theme here. -->
    </style>
    

    night

    <style name="Theme.Shindig" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
        <!-- Primary brand color. -->
        <item name="colorPrimary">@color/purple_200</item>
        <item name="colorOnPrimary">@color/black</item>
        <item name="colorOnSecondary">#F8F5F5</item>
        <!-- Status bar color. -->
        <item name="android:statusBarColor">?attr/colorPrimary</item>
        <!-- Customize your theme here. -->
    </style>
    

    **Note I did not label the exact colors, so in 深色主题 the Primary color is light black, i did not change the purple color to reflect light black. However this is an example. the color you place will be the color name in the colors.xml**

    这些分别是它们各自的不同配色方案。这些将根据主题使用不同的颜色。因此,例如,当您调用 night theme 时,您设置的颜色将是可见的,并且与 day theme 不同。现在有了night theme,你想要浅色。因此,当您调用任一主题时,颜色将按照设置进行选择。

    text 使用 colorOnSecondary 部分,就像我在这里一样。

    要手动切换到 Day?Dark 模式进入手机设置并打开手机上的黑暗模式,然后返回应用程序,您会看到不同之处。如果您有切换器,则可以通过切换器在主题之间切换。

    选择颜色后,它将如下所示:

    【讨论】:

      【解决方案2】:

      themes.xml(晚上)

      <style name="TextColor">
              <item name="android:textColor">@color/white</item>
          </style>
      

      主题.xml

      <style name="TextColor">
                  <item name="android:textColor">@color/black</item>
              </style>
      

      布局.xml

      <TextView
      ...
      style="@style/SortTablayout"
      />
      

      或者

      <style name="Theme.YourThema" parent="Theme.MaterialComponents.DayNight.NoActionBar">
              <!-- Primary brand color. -->
              <item name="colorPrimary">@color/primary_color</item>
              <item name="colorPrimaryVariant">@color/purple_700</item>
              <item name="colorOnPrimary">@color/white</item>
              <item name="textFillColor">@color/black</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:windowDrawsSystemBarBackgrounds">true</item>
              <item name="android:statusBarColor">@android:color/transparent</item>
              <item name="android:windowLightStatusBar">true</item>
              <item name="windowActionBar">true</item>
              <item name="windowNoTitle">true</item>
      <item name="android:textColor">@color/black</item> <!--<- -->
              <!-- Customize your theme here. -->
          </style>
      

      【讨论】:

        猜你喜欢
        • 2011-09-22
        • 2021-08-16
        • 2015-09-12
        • 1970-01-01
        • 2015-10-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多