dis*_*ame 6 android accessibility android-theme android-resources android-color
Android 支持日/夜模式
../values/colors.xml和
../values-night/colors.xml。
如果我想添加另一个颜色文件夹,例如高对比度颜色
( ../values-highconst/colors.xml),有没有办法添加额外的颜色文件夹,并使其根据满足特定条件来选择该额外文件夹中的颜色?
我想过使用 standard_theme.xml、high_contrast_theme.xml 来实现,当我们尝试向每个主题添加日/夜模式时,多个开发人员在该项目上工作时管理和维护会变得更加困难。我们如何实现这一目标?
你必须像下面这样定义 attrs.xml ..res/values/attrs.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="tm">
<attr name="background_color" format="color" />
<attr name="card_background" format="color" />
<attr name="text_color" format="color" />
<attr name="tint_color" format="color" />
<attr name="button_color" format="color" />
<attr name="button_text_color" format="color" />
<attr name="icon_color" format="color" />
<attr name="toolbar_color" format="color" />
<attr name="toolbar_content_color" format="color" />
<attr name="edit_text_background" format="color" />
<attr name="edit_text_color" format="color" />
<attr name="edit_text_hint" format="color" />
</declare-styleable>
</resources>
Run Code Online (Sandbox Code Playgroud)
然后在 ../res/values/styles 中定义样式,如下所示
<!-- Base application theme. -->
<!-- Base light/day theme. -->
<style name="darkTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="background_color">#fcffe3</item>
<item name="card_background">#2d2e30</item>
<item name="text_color">#999797</item>
<item name="toolbar_color">@color/black</item>
<item name="toolbar_content_color">@color/yellowText</item>
<item name="tint_color">@color/colorAccent</item>
<item name="button_color">@color/colorPrimary</item>
<item name="model_item_color">@color/colorPrimary</item>
<item name="icon_color">@color/colorAccent</item>
<item name="text_icon_dr">@color/black</item>
<item name="button_text_color">@color/black</item>
<item name="hint_color">#6e6f70</item>
<item name="btn_color">@color/yellowButton</item>
<item name="edit_text_background">@color/white</item>
<item name="edit_text_color">@color/black</item>
<item name="edit_text_hint">@color/brown_400</item>
<item name="text_bg_white">@color/black</item>
</style>
<!-- Base dark/night theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">#9c2917</item>
<item name="background_color">@color/colorPrimary</item>
<item name="card_background">#d3d6d7</item>
<item name="text_color">@color/white</item>
<item name="toolbar_color">@color/white</item>
<item name="toolbar_content_color">@color/yellowText</item>
<item name="tint_color">#d1d100</item>
<item name="button_color">@color/colorPrimary</item>
<item name="model_item_color">@color/colorPrimary</item>
<item name="icon_color">#331611</item>
<item name="text_icon_dr">@color/colorAccent</item>
<item name="button_text_color">@color/black</item>
<item name="hint_color">#9ef9f9f9</item>
<item name="edit_text_background">@color/white</item>
<item name="edit_text_color">@color/black</item>
<item name="edit_text_hint">@color/brown_400</item>
<item name="text_bg_white">@color/black</item>
<item name="btn_color">@color/yellowButton</item>
</style>
Run Code Online (Sandbox Code Playgroud)
这对我来说适用于多主题希望对你有用
| 归档时间: |
|
| 查看次数: |
6226 次 |
| 最近记录: |