Android Studio的内置模板之一将创建以下主题:
<resources>
<!-- Base App Theme -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>
在这种情况下,AppTheme.NoActionBar
未明确指定AppTheme
作为父级。 Android是否为此使用命名约定并在这种情况下隐式继承主题?
答案 0 :(得分:0)
感谢David指点我的文档:
如果要继承自己定义的样式,则不必使用parent属性。 相反,只需将要继承的样式的名称添加到新样式的名称前面,用句点分隔。例如,创建一个继承上面定义的CodeFont样式的新样式,但是使颜色变红,你可以创作这样的新风格:
<style name="CodeFont.Red">
<item name="android:textColor">#FF0000</item>
</style>