android - 如何在我的自定义 styles.xml 中继承默认的 Android 样式?

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

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

关于android - 如何在我的自定义 styles.xml 中继承默认的 Android 样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34004674/

相关文章:

java.lang.ClassCastException : CLASS/Activity cannot be cast to MainActivity

Android UI 设计模式 - 选项菜单

android - 具有 ConstraintLayout 和填充的 LinearLayout

android - API 级别 8 的 ICS 样式 EditText

java - 解决java.lang.NumberFormatException : Invalid double: "" without losing placeholder text

android - 如何在 Android 中启用 GPS

java - 无法进行工作的 ListView 项目删除操作

android - Datepicker 和 Timepicker 文本不出现在 Android 5.1.1

Android:Merge-Tag 不适用于 fragment

android - 如何禁用自定义键盘全屏?