From 6e6772ff0357f2ca18f2dbd6aa34ab39e0fe9f08 Mon Sep 17 00:00:00 2001 From: Florina Muntenescu Date: Wed, 17 Jan 2018 16:22:18 +0000 Subject: [PATCH] Update JavaDoc for BackgroundColorSpan and ForegroundColorSpan. Test: N/A Bug: 72092996 Change-Id: Iec7f378557759e2fdd2969f579e1dfd4635b123a --- .../text/style/BackgroundColorSpan.java | 54 +++++++++++++++--- .../text/style/ForegroundColorSpan.java | 49 ++++++++++++++-- .../images/text/style/backgroundcolorspan.png | Bin 0 -> 16410 bytes .../images/text/style/foregroundcolorspan.png | Bin 0 -> 18636 bytes 4 files changed, 89 insertions(+), 14 deletions(-) create mode 100644 docs/html/reference/images/text/style/backgroundcolorspan.png create mode 100644 docs/html/reference/images/text/style/foregroundcolorspan.png diff --git a/core/java/android/text/style/BackgroundColorSpan.java b/core/java/android/text/style/BackgroundColorSpan.java index de05f50c9860b..4f471a8a2f852 100644 --- a/core/java/android/text/style/BackgroundColorSpan.java +++ b/core/java/android/text/style/BackgroundColorSpan.java @@ -16,24 +16,48 @@ package android.text.style; +import android.annotation.ColorInt; +import android.annotation.NonNull; import android.os.Parcel; import android.text.ParcelableSpan; import android.text.TextPaint; import android.text.TextUtils; +/** + * Changes the background color of the text to which the span is attached. + *

+ * For example, to set a green background color for a text you would create a {@link + * android.text.SpannableStringBuilder} based on the text and set the span. + *

{@code
+ * SpannableString string = new SpannableString("Text with a background color span");
+ *string.setSpan(new BackgroundColorSpan(color), 12, 28, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+ * }
+ * + *
Set a background color for the text.
+ */ public class BackgroundColorSpan extends CharacterStyle implements UpdateAppearance, ParcelableSpan { private final int mColor; - public BackgroundColorSpan(int color) { + /** + * Creates a {@link BackgroundColorSpan} from a color integer. + *

+ * + * @param color color integer that defines the background color + * @see android.content.res.Resources#getColor(int, Resources.Theme) + */ + public BackgroundColorSpan(@ColorInt int color) { mColor = color; } - public BackgroundColorSpan(Parcel src) { + /** + * Creates a {@link BackgroundColorSpan} from a parcel. + */ + public BackgroundColorSpan(@NonNull Parcel src) { mColor = src.readInt(); } - + public int getSpanTypeId() { return getSpanTypeIdInternal(); } @@ -42,26 +66,40 @@ public class BackgroundColorSpan extends CharacterStyle public int getSpanTypeIdInternal() { return TextUtils.BACKGROUND_COLOR_SPAN; } - + public int describeContents() { return 0; } - public void writeToParcel(Parcel dest, int flags) { + /** + * Flatten this object into a Parcel. + * + * @param dest The Parcel in which the object should be written. + * @param flags Additional flags about how the object should be written. + */ + public void writeToParcel(@NonNull Parcel dest, int flags) { writeToParcelInternal(dest, flags); } /** @hide */ - public void writeToParcelInternal(Parcel dest, int flags) { + public void writeToParcelInternal(@NonNull Parcel dest, int flags) { dest.writeInt(mColor); } + /** + * @return the background color of this span. + * @see BackgroundColorSpan#BackgroundColorSpan(int) + */ + @ColorInt public int getBackgroundColor() { return mColor; } + /** + * Updates the background color of the TextPaint. + */ @Override - public void updateDrawState(TextPaint ds) { - ds.bgColor = mColor; + public void updateDrawState(@NonNull TextPaint textPaint) { + textPaint.bgColor = mColor; } } diff --git a/core/java/android/text/style/ForegroundColorSpan.java b/core/java/android/text/style/ForegroundColorSpan.java index 2bc6d5406adee..08ab2a1f1a204 100644 --- a/core/java/android/text/style/ForegroundColorSpan.java +++ b/core/java/android/text/style/ForegroundColorSpan.java @@ -17,24 +17,48 @@ package android.text.style; import android.annotation.ColorInt; +import android.annotation.NonNull; import android.os.Parcel; import android.text.ParcelableSpan; import android.text.TextPaint; import android.text.TextUtils; +/** + * Changes the color of the text to which the span is attached. + *

+ * For example, to set a green text color you would create a {@link + * android.text.SpannableStringBuilder} based on the text and set the span. + *

{@code
+ * SpannableString string = new SpannableString("Text with a foreground color span");
+ *string.setSpan(new ForegroundColorSpan(color), 12, 28, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+ * }
+ * + *
Set a text color.
+ */ public class ForegroundColorSpan extends CharacterStyle implements UpdateAppearance, ParcelableSpan { private final int mColor; + /** + * Creates a {@link ForegroundColorSpan} from a color integer. + *

+ * To get the color integer associated with a particular color resource ID, use + * {@link android.content.res.Resources#getColor(int, Resources.Theme)} + * + * @param color color integer that defines the text color + */ public ForegroundColorSpan(@ColorInt int color) { mColor = color; } - public ForegroundColorSpan(Parcel src) { + /** + * Creates a {@link ForegroundColorSpan} from a parcel. + */ + public ForegroundColorSpan(@NonNull Parcel src) { mColor = src.readInt(); } - + public int getSpanTypeId() { return getSpanTypeIdInternal(); } @@ -48,22 +72,35 @@ public class ForegroundColorSpan extends CharacterStyle return 0; } - public void writeToParcel(Parcel dest, int flags) { + /** + * Flatten this object into a Parcel. + * + * @param dest The Parcel in which the object should be written. + * @param flags Additional flags about how the object should be written. + */ + public void writeToParcel(@NonNull Parcel dest, int flags) { writeToParcelInternal(dest, flags); } /** @hide */ - public void writeToParcelInternal(Parcel dest, int flags) { + public void writeToParcelInternal(@NonNull Parcel dest, int flags) { dest.writeInt(mColor); } + /** + * @return the foreground color of this span. + * @see ForegroundColorSpan#ForegroundColorSpan(int) + */ @ColorInt public int getForegroundColor() { return mColor; } + /** + * Updates the color of the TextPaint to the foreground color. + */ @Override - public void updateDrawState(TextPaint ds) { - ds.setColor(mColor); + public void updateDrawState(@NonNull TextPaint textPaint) { + textPaint.setColor(mColor); } } diff --git a/docs/html/reference/images/text/style/backgroundcolorspan.png b/docs/html/reference/images/text/style/backgroundcolorspan.png new file mode 100644 index 0000000000000000000000000000000000000000..e7e72714c5bba16bd5e9b5eae9c51c7fd6bddac4 GIT binary patch literal 16410 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 literal 0 HcmV?d00001