我为按钮样式定义了两个属性,例如
<!-- attrs.xml-->
<declare-styleable name="MyCustomButton">
<attr name="rectangleCustomButtonStatus1" format="reference" />
<attr name="rectangleCustomButtonStatus2" format="reference" />
</declare-styleable>
<!-- styles.xml -->
<style name="AppTheme">
<item name="rectangleCustomButtonStatus1">@style/GoldButtonStyle</item>
<item name="rectangleCustomButtonStatus2">@style/WhiteButtonStyle</item>
....
</style>
GoldButtonStyle 和 WhiteButtonStyle 我在 style.xml 本身中定义。
现在我在xml中应用上面定义的属性样式,比如
<Button
style="?attr/rectangleCustomButtonStatus1"
..... />
我正在使用 Recyclerview,Recyclerview 项目有一个按钮。按钮文本将根据未决、已完成等状态进行更改。我想设置属性样式,例如如果状态为待处理,则使用rectangleCustomButtonStatus1,如果状态已完成,则使用rectangleCustomButtonStatus2。
那么如何以编程方式提供样式属性?我必须为 recyclerview itemview 的项目做同样的事情。那么我该如何实现呢?