如何在Android布局样式中更改继承样式的背景颜色?

时间:2014-12-09 06:07:44

标签: android android-layout android-xml android-styles

如果我更改了儿童风格的背景,那么它不会应用来自父母的任何其他风格!

<style name="RemoteButton">
    <item name="android:layout_width">0dp</item>
    <item name="android:layout_height">match_parent</item>
    <item name="android:textColor">#556699</item>
    <item name="android:textSize">20dp</item>
    <item name="android:layout_margin">3dp</item>
</style>

<style name="ControlButton" parent="RemoteButton">

    <!-- THIS CAUSES IT TO IGNORE ALL THE PARENT STYLES SUCH AS MARGIN -->
    <item name="android:background">#E87E04</item>

    <item name="android:textColor">#ffffff</item>
</style>

这不起作用(它被忽略了):

<item name="android:colorBackground">#E87E04</item>

如何为儿童风格赋予不同的背景颜色?

1 个答案:

答案 0 :(得分:0)

当您创建自定义样式或主题并从中继承时,请勿使用parent属性,而不要使用此

<style name="ControlButton" parent="RemoteButton">

    <!-- THIS CAUSES IT TO IGNORE ALL THE PARENT STYLES SUCH AS MARGIN -->
    <item name="android:background">#E87E04</item>

    <item name="android:textColor">#ffffff</item>
</style>

这样做,请注意“。”字符。

<style name="RemoteButton.ControlButton">

    <!-- THIS CAUSES IT TO IGNORE ALL THE PARENT STYLES SUCH AS MARGIN -->
    <item name="android:background">#E87E04</item>

    <item name="android:textColor">#ffffff</item>
</style>

你只是继续使用“。”任何需要继承自定义样式的字符。