我认为更“全局”的样式总是被更“本地”的样式覆盖。例如,如果我重新定义所有按钮的textSize=40dip(将该样式应用为应用程序的主题),然后对特定按钮应用另一个样式,该样式指定textSize=10dip,那么该特定按钮应该获得10dip的textSize。
通常情况下就是这样。但是在maxHeight方面却不是这样。下面是场景:
在我的styles.xml中,我有一个样式,其中我继承了默认按钮并更改了textSize和minHeight,然后另一个样式设置了一些其他值(但也从按钮继承),如下所示:
我正在特定地设置按钮的样式,覆盖“全局”主题。这在某些部分起作用;这些标题按钮的文本大小正确地设置为18dip,但最大高度被忽略 - 这些按钮的高度也增加到60dip。
如果我在ButtonHeader的样式中设置android:minHeight =“100dip”,则标题中的按钮将增大到100dip,覆盖主题。但是,如上所述,当我使用android:maxHeight时,什么也不会发生。
我错过了什么?
通常情况下就是这样。但是在maxHeight方面却不是这样。下面是场景:
在我的styles.xml中,我有一个样式,其中我继承了默认按钮并更改了textSize和minHeight,然后另一个样式设置了一些其他值(但也从按钮继承),如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Button" parent="@android:style/Widget.Button">
<item name="android:textSize">26dip</item>
<item name="android:minHeight">60dip</item>
</style>
<style name="ButtonHeader" parent="@android:style/Widget.Button">
<item name="android:textSize">18dip</item>
<item name="android:minWidth">70dip</item>
<item name="android:maxHeight">10dip</item>
</style>
</resources>
我将第一种样式应用于我的Activity作为主题,这使得所有的按钮变大了(minHeight=60dip)。但是我有一个“标题”(在其中有一些其他的按钮),我不希望它们有60dip的最小高度,而是想要使用ButtonHeader,将maxHeight设置为10dip。
在我的header.xml中,它的外观如下:
<Button style="@style/ButtonHeader" android:text="UPP" android:id="@+id/Header_Button_UPP" android:layout_width="wrap_content" android:layout_height="wrap_content" ></Button>
<Button style="@style/ButtonHeader" android:text="ALT" android:id="@+id/Header_Button_ALT" android:layout_width="wrap_content" android:layout_height="wrap_content" ></Button>
<Button style="@style/ButtonHeader" android:text="NAV" android:id="@+id/Header_Button_NAV" android:layout_width="wrap_content" android:layout_height="wrap_content" ></Button>
<Button style="@style/ButtonHeader" android:text="HIS" android:id="@+id/Header_Button_HIS" android:layout_width="wrap_content" android:layout_height="wrap_content" ></Button>
我正在特定地设置按钮的样式,覆盖“全局”主题。这在某些部分起作用;这些标题按钮的文本大小正确地设置为18dip,但最大高度被忽略 - 这些按钮的高度也增加到60dip。
如果我在ButtonHeader的样式中设置android:minHeight =“100dip”,则标题中的按钮将增大到100dip,覆盖主题。但是,如上所述,当我使用android:maxHeight时,什么也不会发生。
我错过了什么?