diff options
author | Alan Viverette <alanv@google.com> | 2013-09-26 15:21:10 -0700 |
---|---|---|
committer | Alan Viverette <alanv@google.com> | 2013-09-26 15:21:10 -0700 |
commit | e785d02197a6f0b3ca837f6aff781601ebf5fd59 (patch) | |
tree | e4831707732419f490d7881bff038a40c5a16008 /core/java/android/widget/ProgressBar.java | |
parent | 998c7007d1816d158a352d436a75a1f41055a1fa (diff) | |
download | frameworks_base-e785d02197a6f0b3ca837f6aff781601ebf5fd59.zip frameworks_base-e785d02197a6f0b3ca837f6aff781601ebf5fd59.tar.gz frameworks_base-e785d02197a6f0b3ca837f6aff781601ebf5fd59.tar.bz2 |
Add ProgressBar methods to set tileable Drawables
BUG: 8349406
Change-Id: I068ac291c8db19f3c8991675f141ccfc0c7b29b2
Diffstat (limited to 'core/java/android/widget/ProgressBar.java')
-rw-r--r-- | core/java/android/widget/ProgressBar.java | 52 |
1 files changed, 42 insertions, 10 deletions
diff --git a/core/java/android/widget/ProgressBar.java b/core/java/android/widget/ProgressBar.java index b0c2d28..217d630 100644 --- a/core/java/android/widget/ProgressBar.java +++ b/core/java/android/widget/ProgressBar.java @@ -259,10 +259,9 @@ public class ProgressBar extends View { Drawable drawable = a.getDrawable(R.styleable.ProgressBar_progressDrawable); if (drawable != null) { - drawable = tileify(drawable, false); // Calling this method can set mMaxHeight, make sure the corresponding // XML attribute for mMaxHeight is read after calling this method - setProgressDrawable(drawable); + setProgressDrawableTiled(drawable); } @@ -291,8 +290,7 @@ public class ProgressBar extends View { drawable = a.getDrawable(R.styleable.ProgressBar_indeterminateDrawable); if (drawable != null) { - drawable = tileifyIndeterminate(drawable); - setIndeterminateDrawable(drawable); + setIndeterminateDrawableTiled(drawable); } mOnlyIndeterminate = a.getBoolean( @@ -465,11 +463,9 @@ public class ProgressBar extends View { } /** - * <p>Define the drawable used to draw the progress bar in - * indeterminate mode.</p> + * Define the drawable used to draw the progress bar in indeterminate mode. * * @param d the new drawable - * * @see #getIndeterminateDrawable() * @see #setIndeterminate(boolean) */ @@ -486,6 +482,25 @@ public class ProgressBar extends View { postInvalidate(); } } + + /** + * Define the tileable drawable used to draw the progress bar in + * indeterminate mode. + * <p> + * If the drawable is a BitmapDrawable or contains BitmapDrawables, a + * tiled copy will be generated for display as a progress bar. + * + * @param d the new drawable + * @see #getIndeterminateDrawable() + * @see #setIndeterminate(boolean) + */ + public void setIndeterminateDrawableTiled(Drawable d) { + if (d != null) { + d = tileifyIndeterminate(d); + } + + setIndeterminateDrawable(d); + } /** * <p>Get the drawable used to draw the progress bar in @@ -501,11 +516,9 @@ public class ProgressBar extends View { } /** - * <p>Define the drawable used to draw the progress bar in - * progress mode.</p> + * Define the drawable used to draw the progress bar in progress mode. * * @param d the new drawable - * * @see #getProgressDrawable() * @see #setIndeterminate(boolean) */ @@ -544,6 +557,25 @@ public class ProgressBar extends View { doRefreshProgress(R.id.secondaryProgress, mSecondaryProgress, false, false); } } + + /** + * Define the tileable drawable used to draw the progress bar in + * progress mode. + * <p> + * If the drawable is a BitmapDrawable or contains BitmapDrawables, a + * tiled copy will be generated for display as a progress bar. + * + * @param d the new drawable + * @see #getProgressDrawable() + * @see #setIndeterminate(boolean) + */ + public void setProgressDrawableTiled(Drawable d) { + if (d != null) { + d = tileify(d, false); + } + + setProgressDrawable(d); + } /** * @return The drawable currently used to draw the progress bar |