我认为更多的“全球”风格总是被更多的“本地”风格所覆盖.例如,如果我重新定义所有按钮以使textSize = 40dip(将该样式应用为应用程序的主题),然后将另一个样式应用于显示textSize = 10dip的特定按钮,则该特定按钮应获得10dip textSize.

这通常就是它的工作方式.但不是说maxHeight.这是场景:

在我的styles.xml中,我有一个Style,我继承默认Button并更改textSize和minHeight,然后另一个Style设置其他值(但也从Button继承),如下所示:

26dip

60dip

18dip

70dip

10dip

我将第一个Style应用为我的Activity的主题,使所有按钮变大(minHeight = 60dip).但我有一个“标题”(我有一些其他按钮),我不希望有60dip的minHeight,对于那些我想使用ButtonHeader的按钮,将maxHeight设置为10dip.

在我的header.xml中,它看起来像这样:

我特别设计了按钮的样式,覆盖了“全局”主题.它适用于某些部分;这些标题按钮的textSize正确设置为18dip,但忽略maxHeight – 这些按钮的高度也增加到60dip.

如果我,在ButtonHeader的样式中,设置android:minHeight =“100dip”,标题中的按钮将增加到100dip,覆盖主题.

但是,如上所述,当我有android:maxHeight时,没有任何反应.

我错过了什么?

解决方法:

你的ButtonHeader样式不应该覆盖minHeight属性吗?看起来你最终得到minHeight = 60dp和maxHeight = 10dp,而minHeight获胜.如果你明确地将minHeight设置为其他东西,那么你应该没有这个问题.

标签:android

来源: https://codeday.me/bug/20190522/1151333.html

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐