StyleSpan


public class StyleSpan
extends MetricAffectingSpan implements ParcelableSpan

java.lang.Object
   ↳ android.text.style.CharacterStyle
     ↳ android.text.style.MetricAffectingSpan
       ↳ android.text.style.StyleSpan


Span that allows setting the style of the text it's attached to. Possible styles are: Typeface.NORMAL, Typeface.BOLD, Typeface.ITALIC and Typeface.BOLD_ITALIC.

Note that styles are cumulative -- if both bold and italic are set in separate spans, or if the base style is bold and a span calls for italic, you get bold italic. You can't turn off a style from the base style.

For example, the StyleSpan can be used like this:

 SpannableString string = new SpannableString("Bold and italic text");
 string.setSpan(new StyleSpan(Typeface.BOLD), 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
 string.setSpan(new StyleSpan(Typeface.ITALIC), 9, 15, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
 
Text styled bold and italic with the StyleSpan.

Summary

Inherited constants

int CONTENTS_FILE_DESCRIPTOR

Descriptor bit used with describeContents(): indicates that the Parcelable object's flattened representation includes a file descriptor.

int PARCELABLE_WRITE_RETURN_VALUE

Flag for use with writeToParcel(Parcel, int): the object being written is a return value, that is the result of a function such as "Parcelable someFunction()", "void someFunction(out Parcelable)", or "void someFunction(inout Parcelable)".

Public constructors

StyleSpan(Parcel src)

Creates a StyleSpan from a parcel.

StyleSpan(int style)

Creates a StyleSpan from a style.

StyleSpan(int style, int fontWeightAdjustment)

Creates a StyleSpan from a style and font weight adjustment.

Public methods

int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

int getFontWeightAdjustment()

Returns the font weight adjustment specified by this span.

int getSpanTypeId()

Return a special type identifier for this span class.

int getStyle()

Returns the style constant defined in Typeface.

String toString()

Returns a string representation of the object.

void updateDrawState(TextPaint ds)
void updateMeasureState(TextPaint paint)

Classes that extend MetricAffectingSpan implement this method to update the text formatting in a way that can change the width or height of characters.

void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Inherited methods

MetricAffectingSpan getUnderlying()

Returns "this" for most MetricAffectingSpans, but for MetricAffectingSpans that were generated by CharacterStyle.wrap(CharacterStyle), returns the underlying MetricAffectingSpan.

abstract void updateMeasureState(TextPaint textPaint)

Classes that extend MetricAffectingSpan implement this method to update the text formatting in a way that can change the width or height of characters.

CharacterStyle getUnderlying()

Returns "this" for most CharacterStyles, but for CharacterStyles that were generated by wrap(CharacterStyle), returns the underlying CharacterStyle.

abstract void updateDrawState(TextPaint tp)
static CharacterStyle wrap(CharacterStyle cs)

A given CharacterStyle can only applied to a single region of a given Spanned.

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

abstract int getSpanTypeId()

Return a special type identifier for this span class.

abstract int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

abstract void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Public constructors

StyleSpan

Added in API level 3
public StyleSpan (Parcel src)

Creates a StyleSpan from a parcel.

Parameters
src Parcel: the parcel This value cannot be null.

StyleSpan

Added in API level 1
public StyleSpan (int style)

Creates a StyleSpan from a style.

Parameters
style int: An integer constant describing the style for this span. Examples include bold, italic, and normal. Values are constants defined in Typeface.

StyleSpan

Added in API level 33
public StyleSpan (int style, 
                int fontWeightAdjustment)

Creates a StyleSpan from a style and font weight adjustment.

Parameters
style int: An integer constant describing the style for this span. Examples include bold, italic, and normal. Values are constants defined in Typeface. Value is Typeface.NORMAL, Typeface.BOLD, Typeface.ITALIC, or Typeface.BOLD_ITALIC

fontWeightAdjustment int: An integer describing the adjustment to be made to the font weight. This is added to the value of the current weight returned by Typeface.getWeight().

Public methods

describeContents

Added in API level 3
public int describeContents ()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(android.os.Parcel, int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or CONTENTS_FILE_DESCRIPTOR

getFontWeightAdjustment

Added in API level 33
public int getFontWeightAdjustment ()

Returns the font weight adjustment specified by this span.

This can be Configuration.FONT_WEIGHT_ADJUSTMENT_UNDEFINED. This is added to the value of the current weight returned by Typeface.getWeight().

Returns
int

getSpanTypeId

Added in API level 3
public int getSpanTypeId ()

Return a special type identifier for this span class.

Returns
int

getStyle

Added in API level 1
public int getStyle ()

Returns the style constant defined in Typeface.

Returns
int

toString

Added in API level 1
public String toString ()

Returns a string representation of the object.

Returns
String a string representation of the object.

updateDrawState

Added in API level 1
public void updateDrawState (TextPaint ds)

Parameters
ds TextPaint

updateMeasureState

Added in API level 1
public void updateMeasureState (TextPaint paint)

Classes that extend MetricAffectingSpan implement this method to update the text formatting in a way that can change the width or height of characters.

Parameters
paint TextPaint: the paint used for drawing the text This value cannot be null.

writeToParcel

Added in API level 3
public void writeToParcel (Parcel dest, 
                int flags)

Flatten this object in to a Parcel.

Parameters
dest Parcel: The Parcel in which the object should be written. This value cannot be null.

flags int: Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES