主题继承

在定义主题时,通常使用系统提供的主题,然后更改修改外观以适合他自己的应用程序。例如,这是 Theme.AppCompat 主题的继承方式:

<style name="AppTheme" parent="Theme.AppCompat">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

这个主题现在具有标准 Theme.AppCompat 主题的所有属性,除了我们明确更改的主题。

继承时还有一个快捷方式,通常在从自己的主题继承时使用:

<style name="AppTheme.Red">
    <item name="colorAccent">@color/red</item>
</style>

由于它的名字一开始就已经有了 AppTheme.,它会自动继承它,而不需要定义 parent 主题。当你需要为应用程序的零件(例如,单个活动)创建特定样式时,这非常有用。