lightbulb_outline Please take our October 2018 developer survey. Start survey

ScaleXSpan

public class ScaleXSpan
extends MetricAffectingSpan implements ParcelableSpan

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


Scales horizontally the size of the text to which it's attached by a certain factor.

Values > 1.0 will stretch the text wider. Values < 1.0 will stretch the text narrower.

For example, a ScaleXSpan that stretches the text size by 100% can be constructed like this:

SpannableString string = new SpannableString("Text with ScaleX span");
string.setSpan(new ScaleXSpan(2f), 10, 16, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
Text scaled by 100% with ScaleXSpan.

Summary

Inherited constants

Public constructors

ScaleXSpan(float proportion)

Creates a ScaleXSpan based on a proportion.

ScaleXSpan(Parcel src)

Creates a ScaleXSpan from a parcel.

Public methods

int describeContents()

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

float getScaleX()

Get the horizontal scale factor for the text.

int getSpanTypeId()

Return a special type identifier for this span class.

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

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

ScaleXSpan

added in API level 1
public ScaleXSpan (float proportion)

Creates a ScaleXSpan based on a proportion. Values > 1.0 will stretch the text wider. Values < 1.0 will stretch the text narrower.

Parameters
proportion float: the horizontal scale factor.

Value is 0.0 or greater.

ScaleXSpan

added in API level 3
public ScaleXSpan (Parcel src)

Creates a ScaleXSpan from a parcel.

Parameters
src Parcel

This value must never be null.

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(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.

getScaleX

added in API level 1
public float getScaleX ()

Get the horizontal scale factor for the text.

Returns
float the horizontal scale factor.

getSpanTypeId

added in API level 3
public int getSpanTypeId ()

Return a special type identifier for this span class.

Returns
int

updateDrawState

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

Parameters
ds TextPaint

updateMeasureState

added in API level 1
public void updateMeasureState (TextPaint ds)

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
ds TextPaint: the paint used for drawing the text

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 must never be null.

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