Update JavaDoc for BackgroundColorSpan and ForegroundColorSpan.

Test: N/A
Bug: 72092996
Change-Id: Iec7f378557759e2fdd2969f579e1dfd4635b123a
This commit is contained in:
Florina Muntenescu
2018-01-17 16:22:18 +00:00
parent 6644e252cd
commit 6e6772ff03
4 changed files with 89 additions and 14 deletions

View File

@@ -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.
* <p>
* 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.
* <pre>{@code
* SpannableString string = new SpannableString("Text with a background color span");
*string.setSpan(new BackgroundColorSpan(color), 12, 28, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
* }</pre>
* <img src="{@docRoot}reference/android/images/text/style/backgroundcolorspan.png" />
* <figcaption>Set a background color for the text.</figcaption>
*/
public class BackgroundColorSpan extends CharacterStyle
implements UpdateAppearance, ParcelableSpan {
private final int mColor;
public BackgroundColorSpan(int color) {
/**
* Creates a {@link BackgroundColorSpan} from a color integer.
* <p>
*
* @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;
}
}

View File

@@ -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.
* <p>
* For example, to set a green text color you would create a {@link
* android.text.SpannableStringBuilder} based on the text and set the span.
* <pre>{@code
* SpannableString string = new SpannableString("Text with a foreground color span");
*string.setSpan(new ForegroundColorSpan(color), 12, 28, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
* }</pre>
* <img src="{@docRoot}reference/android/images/text/style/foregroundcolorspan.png" />
* <figcaption>Set a text color.</figcaption>
*/
public class ForegroundColorSpan extends CharacterStyle
implements UpdateAppearance, ParcelableSpan {
private final int mColor;
/**
* Creates a {@link ForegroundColorSpan} from a color integer.
* <p>
* 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);
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB