summaryrefslogtreecommitdiffstats
path: root/graphics
diff options
context:
space:
mode:
Diffstat (limited to 'graphics')
-rw-r--r--graphics/java/android/graphics/drawable/ColorDrawable.java23
1 files changed, 21 insertions, 2 deletions
diff --git a/graphics/java/android/graphics/drawable/ColorDrawable.java b/graphics/java/android/graphics/drawable/ColorDrawable.java
index a25fad4..289348a 100644
--- a/graphics/java/android/graphics/drawable/ColorDrawable.java
+++ b/graphics/java/android/graphics/drawable/ColorDrawable.java
@@ -51,7 +51,7 @@ public class ColorDrawable extends Drawable {
*/
public ColorDrawable(int color) {
this(null);
- mState.mBaseColor = mState.mUseColor = color;
+ setColor(color);
}
private ColorDrawable(ColorState state) {
@@ -72,6 +72,25 @@ public class ColorDrawable extends Drawable {
}
/**
+ * Gets the drawable's color value.
+ *
+ * @return int The color to draw.
+ */
+ public int getColor() {
+ return mState.mUseColor;
+ }
+
+ /**
+ * Sets the drawable's color value. This action will clobber the results of prior calls to
+ * {@link #setAlpha(int)} on this object, which side-affected the underlying color.
+ *
+ * @param color The color to draw.
+ */
+ public void setColor(int color) {
+ mState.mBaseColor = mState.mUseColor = color;
+ }
+
+ /**
* Returns the alpha value of this drawable's color.
*
* @return A value between 0 and 255.
@@ -131,7 +150,7 @@ public class ColorDrawable extends Drawable {
}
final static class ColorState extends ConstantState {
- int mBaseColor; // initial color. never changes
+ int mBaseColor; // base color, independent of setAlpha()
int mUseColor; // basecolor modulated by setAlpha()
int mChangingConfigurations;