【问题标题】:How do I inherit from default Android style in my custom styles.xml?如何从我的自定义 styles.xml 中的默认 Android 样式继承?
【发布时间】:2015-11-30 17:41:01
【问题描述】:

我目前正在为我在“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">

【问题讨论】:

    标签: android android-layout android-edittext textview android-styles


    【解决方案1】:

    继承一些其他样式的最简单方法是使用parent属性:

    <style name="Form_EditView" parent="@android:style/Widget.EditText">
    

    正如@Bobby StJacques 指出的,如果你想继承你定义的样式(不是Android内置的),你可以使用下面的形式:

    <style name="Form_EditView.SomeCustomizedEditView">
        ....
    </style>
    

    在这种情况下,您继承了您已经定义的Form_EditView

    【讨论】:

    • 事实上,如果您从另一个包中的样式继承,这是唯一的方法。如果它们在同一个包中,您可以使用点表示法(可以说更简单)。
    猜你喜欢
    • 2016-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多