本文主要解决我们在Android开发中,希望app头部bar能够被自定义的问题,自定义样式、颜色、字体等等。我对颜色的自定义比较有要求,所以需要进行配置工作。
1、出现需求
显示如下图:
如上图,APP界面头部能够显示头部Bar,颜色也能自定义。
2、需求分析
显示头部Bar的需求主要包含以下几个方面:
- 显示应用的名称和图标;
- 可定制化头部Bar的样式和颜色;
- 支持沉浸式状态栏。
3、解决方案
这个修改是在如下三个文件里进行修改:
colors.xml
themes.xml
themes.xml(night)
按顺序修改上面标号代码,即:
themes.xml(night):
<resources xmlns:tools="http://schemas.android.com/tools"> <!-- Base application theme. --> <style name="Base.Theme.CropIrrigation" parent="Theme.MaterialComponents.Light.DarkActionBar"> <!-- Customize your dark theme here. --> <item name="colorPrimary">@color/my_dark_primary</item> </style> </resources>
themes.xml:
<resources xmlns:tools="http://schemas.android.com/tools"> <!-- Base application theme. --> <style name="Base.Theme.CropIrrigation" parent="Theme.MaterialComponents.Light.DarkActionBar"> <!-- Customize your light theme here. --> <!-- <item name="colorPrimary">@color/my_light_primary</item> --> <!-- Customize your light theme here. --> <item name="colorPrimary">@color/myBarColor</item>. <item name="titleTextColor">@color/myBarColor</item> </style> <style name="Theme.CropIrrigation" parent="Base.Theme.CropIrrigation" /> </resources>
colors.xml:
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="black">#FF000000</color> <color name="white">#FFFFFFFF</color> <color name="myBarColor">#673AB7</color> <color name="my_dark_primary">#673AB7</color> <color name="titleColor">#E3D9D9</color> <color name="colorPrimary">#03A9F4</color> </resources>
在主题文件themes.xml:中,起作用的就是 Theme.MaterialComponents.Light.DarkActionBar
,在属性文件colors.xml:中起作用的就是 <color name="colorPrimary">#03A9F4</color>
,<color name="my_dark_primary">#673AB7</color>