【发布时间】:2011-12-12 09:40:16
【问题描述】:
我有 1 个问题 - 我需要更改标准按钮的颜色。我使用按钮的“背景”属性来做到这一点。但是当我这样做时,按钮会改变它的形状——圆角会消失,按钮不会通过点击改变颜色(高亮),按钮的颜色不会是渐变的。我该如何解决这个问题?我想改变按钮的颜色让它看起来像一个标准按钮。
【问题讨论】:
我有 1 个问题 - 我需要更改标准按钮的颜色。我使用按钮的“背景”属性来做到这一点。但是当我这样做时,按钮会改变它的形状——圆角会消失,按钮不会通过点击改变颜色(高亮),按钮的颜色不会是渐变的。我该如何解决这个问题?我想改变按钮的颜色让它看起来像一个标准按钮。
【问题讨论】:
您有两种选择 - 一种是使用 statelist drawable 作为背景,并为普通、按下和聚焦按钮设置可绘制对象,另一种是使用 color filter,这将在不改变基本外观的情况下改变颜色:
Button button = ...;
button.getBackground().setColorFilter(0xFFff0000, PorterDuff.Mode.MULTIPLY); //red for example
【讨论】: