TypefaceSpan
public
class
TypefaceSpan
extends MetricAffectingSpan
implements
ParcelableSpan
| java.lang.Object | |||
| ↳ | android.text.style.CharacterStyle | ||
| ↳ | android.text.style.MetricAffectingSpan | ||
| ↳ | android.text.style.TypefaceSpan | ||
Span that updates the typeface of the text it's attached to. The TypefaceSpan can
be constructed either based on a font family or based on a Typeface. When
TypefaceSpan(java.lang.String) is used, the previous style of the TextView is kept.
When TypefaceSpan(android.graphics.Typeface) is used, the Typeface style replaces the
TextView's style.
For example, let's consider a TextView with
android:textStyle="italic" and a typeface created based on a font from resources,
with a bold style. When applying a TypefaceSpan based the typeface, the text will
only keep the bold style, overriding the TextView's textStyle. When applying a
TypefaceSpan based on a font family: "monospace", the resulted text will keep the
italic style.
Typeface myTypeface = Typeface.create(ResourcesCompat.getFont(context, R.font.acme),
Typeface.BOLD);
SpannableString string = new SpannableString("Text with typeface span.");
string.setSpan(new TypefaceSpan(myTypeface), 10, 18, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
string.setSpan(new TypefaceSpan("monospace"), 19, 22, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
TypefaceSpans constructed based on a font from resource and
from a font family.Summary
Inherited constants |
|---|
Public constructors | |
|---|---|
TypefaceSpan(Typeface typeface)
Constructs a |
|
TypefaceSpan(Parcel src)
Constructs a |
|
TypefaceSpan(String family)
Constructs a |
|
Public methods | |
|---|---|
int
|
describeContents()
Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. |
String
|
getFamily()
Returns the font family name set in the span. |
int
|
getSpanTypeId()
Return a special type identifier for this span class. |
Typeface
|
getTypeface()
Returns the typeface set in the span. |
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 | |
|---|---|
Public constructors
TypefaceSpan
public TypefaceSpan (Typeface typeface)
Constructs a TypefaceSpan from a Typeface. The previous style of the
TextPaint is overridden and the style of the typeface is used.
| Parameters | |
|---|---|
typeface |
Typeface: the typeface
This value cannot be null. |
TypefaceSpan
public TypefaceSpan (Parcel src)
Constructs a TypefaceSpan from a parcel.
| Parameters | |
|---|---|
src |
Parcel: This value cannot be null. |
TypefaceSpan
public TypefaceSpan (String family)
Constructs a TypefaceSpan based on the font family. The previous style of the
TextPaint is kept. If the font family is null, the text paint is not modified.
| Parameters | |
|---|---|
family |
String: The font family for this typeface. Examples include
"monospace", "serif", and "sans-serif"
This value may be null. |
Public methods
describeContents
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 |
getFamily
public String getFamily ()
Returns the font family name set in the span.
| Returns | |
|---|---|
String |
the font family name
This value may be null. |
See also:
getSpanTypeId
public int getSpanTypeId ()
Return a special type identifier for this span class.
| Returns | |
|---|---|
int |
|
getTypeface
public Typeface getTypeface ()
Returns the typeface set in the span.
| Returns | |
|---|---|
Typeface |
the typeface set
This value may be null. |
See also:
toString
public String toString ()
Returns a string representation of the object.
| Returns | |
|---|---|
String |
a string representation of the object. |
updateDrawState
public void updateDrawState (TextPaint ds)
| Parameters | |
|---|---|
ds |
TextPaint: This value cannot be null. |
updateMeasureState
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: This value cannot be null. |
writeToParcel
public void writeToParcel (Parcel dest, int flags)
Flatten this object in to a Parcel.
| Parameters | |
|---|---|
dest |
Parcel: 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 |