Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f74e56af authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Update JavaDoc for BackgroundColorSpan and ForegroundColorSpan."

parents dd05c12f 6e6772ff
Loading
Loading
Loading
Loading
+46 −8
Original line number Diff line number Diff line
@@ -16,21 +16,45 @@

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();
    }

@@ -47,21 +71,35 @@ public class BackgroundColorSpan 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 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;
    }
}
+43 −6
Original line number Diff line number Diff line
@@ -17,21 +17,45 @@
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();
    }

@@ -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);
    }
}
+16 KiB
Loading image diff...
+18.2 KiB
Loading image diff...