如何在自定义 styles.xml 中继承默认 Android 样式?
How do I inherit from default Android style in my custom styles.xml?
我目前正在为 'styles.xml' 中定义的 EditTexts
使用此自定义样式布局:
<style name="Form_EditView">
<item name="android:textColor">@color/white</item>
<item name="android:textSize">@dimen/large_text_size</item>
<item name="colorControlNormal">@color/white</item>
<item name="colorControlActivated">@color/pink</item>
<item name="colorControlHighlight">@color/pink</item>
</style>
但是现在我陷入了两难境地,因为我有一个 TextView
,我想将其设置为默认 Android EditText 的样式,然后再应用我上面的自定义样式。默认 Android 样式如下所示:
style="@android:style/Widget.EditText"
我知道在布局样式文件中继承是可能的,但我如何在我的自定义样式中继承 Android 默认样式,以实现类似于此的效果:
<style name="Widget.EditText.Form_EditView">
继承其他样式的最简单方法 - 是使用 parent
属性:
<style name="Form_EditView" parent="@android:style/Widget.EditText">
正如@Bobby StJacques 指出的那样,如果你想继承样式你定义的(不是内置的Android),你可以使用以下形式:
<style name="Form_EditView.SomeCustomizedEditView">
....
</style>
在这种情况下,您继承了已经定义的 Form_EditView
我目前正在为 'styles.xml' 中定义的 EditTexts
使用此自定义样式布局:
<style name="Form_EditView">
<item name="android:textColor">@color/white</item>
<item name="android:textSize">@dimen/large_text_size</item>
<item name="colorControlNormal">@color/white</item>
<item name="colorControlActivated">@color/pink</item>
<item name="colorControlHighlight">@color/pink</item>
</style>
但是现在我陷入了两难境地,因为我有一个 TextView
,我想将其设置为默认 Android EditText 的样式,然后再应用我上面的自定义样式。默认 Android 样式如下所示:
style="@android:style/Widget.EditText"
我知道在布局样式文件中继承是可能的,但我如何在我的自定义样式中继承 Android 默认样式,以实现类似于此的效果:
<style name="Widget.EditText.Form_EditView">
继承其他样式的最简单方法 - 是使用 parent
属性:
<style name="Form_EditView" parent="@android:style/Widget.EditText">
正如@Bobby StJacques 指出的那样,如果你想继承样式你定义的(不是内置的Android),你可以使用以下形式:
<style name="Form_EditView.SomeCustomizedEditView">
....
</style>
在这种情况下,您继承了已经定义的 Form_EditView