使用样式设置按钮文本颜色

Posted

技术标签:

【中文标题】使用样式设置按钮文本颜色【英文标题】:Setting Button Text Color with a Style 【发布时间】:2011-11-23 07:56:12 【问题描述】:

我无法使用预定义的样式设置按钮的文本颜色。我一定错过了一些简单的东西。例如,我有一个按钮:

    <Button
    android:id="@+id/calculate_button"
    android:layout_
    android:layout_
    android:text="@string/calculate"
    android:background="@drawable/rounded_bottom_shape"
    android:padding="5dp"
    android:textAppearance="@style/CalcResultStyle">
    </Button>

而对应的样式是:

<style name="CalcResultStyle">
    <item name="android:textSize">12sp</item>
    <item name="android:textColor">#FFF</item>
</style>

尺寸部分效果很好,但颜色却不行。我发现的唯一解决方法是在实际按钮上设置 textColor,这意味着更改多个按钮的颜色变得很痛苦。我也更喜欢在我的样式中使用颜色参考设置 textColor 属性,例如 @color/Brown,但使用参考或显式设置颜色似乎没有任何区别。

【问题讨论】:

其实按钮文本默认是黑色的。请阅读我的问题。 啊对了,列表视图和其他项目都是黑底白字。 【参考方案1】:

我用这个。也许它会帮助你。你能告诉我你用rounded_bottom_shape写了什么吗?

<Button
android:id="@+id/calculate_button"
android:layout_
android:layout_
android:text="Calculate"
android:background="#454545"
android:padding="5dp"
style="@style/CalcResultStyle">
</Button>

【讨论】:

奇怪...但它确实有效。我从没想过要尝试丢失 android 标签。无论如何..谢谢。 样式通过视图层次传播,标准属性不传播。 Button 没有 textAppearance 属性,因此它什么也不做。

以上是关于使用样式设置按钮文本颜色的主要内容,如果未能解决你的问题,请参考以下文章

怎么设置html的text文本框的边框颜色和粗细?怎么给button按钮加背景图片?

【Flutter】按钮与文本(三)

Qt 样式表鼠标滑过按钮更改Text文本颜色

WPF 有一个按钮,当鼠标移动到按钮上面的时候按钮的颜色变为红色,使用Style实现

样式不会更改 Cast Introductory Overlay 中的标题文本和按钮突出显示动画颜色

可跨页字符串:使用Spans设置文本样式