【发布时间】:2023-02-14 17:39:52
【问题描述】:
我没有更改其余代码的文本颜色,而是更改了一个编辑文本。所以当夜间主题切换时,其余代码的文本颜色会自动更改,但我手动更改的那个不会。
我想为我的编辑文本提供相同的颜色,这样它看起来与我的代码的其余部分没有什么不同。
【问题讨论】:
标签: xml kotlin android-edittext textcolor
我没有更改其余代码的文本颜色,而是更改了一个编辑文本。所以当夜间主题切换时,其余代码的文本颜色会自动更改,但我手动更改的那个不会。
我想为我的编辑文本提供相同的颜色,这样它看起来与我的代码的其余部分没有什么不同。
【问题讨论】:
标签: xml kotlin android-edittext textcolor
在 colors.xml 中定义您想要的颜色 day 和 night 这两个主题的颜色都将用于您指定的颜色。
将这些颜色中的每一种都放在受人尊敬的主题中。例子:
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 模式进入手机设置并打开手机上的黑暗模式,然后返回应用程序,您会看到不同之处。如果您有切换器,则可以通过切换器在主题之间切换。
选择颜色后,它将如下所示:
【讨论】:
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>
【讨论】: