Skip to content

Most visited

Recently visited

navigation

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: NORMAL, BOLD, ITALIC and 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

Public constructors

StyleSpan(int style)

Creates a StyleSpan from a style.

StyleSpan(Parcel src)

Creates a StyleSpan from a parcel.

Public methods

int describeContents()

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

int getSpanTypeId()

Return a special type identifier for this span class.

int getStyle()

Returns the style constant defined in Typeface.

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

Public constructors

StyleSpan

added in API level 1
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 3
StyleSpan (Parcel src)

Creates a StyleSpan from a parcel.

Parameters
src Parcel: the parcel

This value must never be null.

Public methods

describeContents

added in API level 3
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(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.

getSpanTypeId

added in API level 3
int getSpanTypeId ()

Return a special type identifier for this span class.

Returns
int

getStyle

added in API level 1
int getStyle ()

Returns the style constant defined in Typeface.

Returns
int

updateDrawState

added in API level 1
void updateDrawState (TextPaint ds)

Parameters
ds TextPaint

updateMeasureState

added in API level 1
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

writeToParcel

added in API level 3
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.

flags int: Additional flags about how the object should be written. May be 0 or PARCELABLE_WRITE_RETURN_VALUE.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Follow Google Developers on WeChat

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (April 2018 — Developer Survey)