to top
Android APIs
Since: API Level 1


Provides classes used to render or track text and text spans on the screen.

You can use these classes to design your own widgets that manage text, to handle arbitrary text spans for changes, or to handle drawing yourself for an existing widget.

The Span… interfaces and classes are used to create or manage spans of text in a View item. You can use these to style the text or background, or to listen for changes. If creating your own widget, extend DynamicLayout, to manages the actual wrapping and drawing of your text.


Editable This is the interface for text whose content and markup can be changed (as opposed to immutable text like Strings). 
GetChars Please implement this interface if your CharSequence has a getChars() method like the one in String that is faster than calling charAt() multiple times. 
Html.ImageGetter Retrieves images for HTML <img> tags. 
Html.TagHandler Is notified when HTML tags are encountered that the parser does not know how to interpret. 
InputFilter InputFilters can be attached to Editables to constrain the changes that can be made to them. 
InputType Bit definitions for an integer defining the basic content type of text held in an Editable object. 
NoCopySpan This interface should be added to a span object that should not be copied into a new Spenned when performing a slice or copy operation on the original Spanned it was placed in. 
ParcelableSpan A special kind of Parcelable for objects that will serve as text spans. 
Spannable This is the interface for text to which markup objects can be attached and detached. 
Spanned This is the interface for text that has markup objects attached to ranges of it. 
SpanWatcher When an object of this type is attached to a Spannable, its methods will be called to notify it that other markup objects have been added, changed, or removed. 
TextUtils.StringSplitter An interface for splitting strings according to rules that are opaque to the user of this interface. 
TextWatcher When an object of a type is attached to an Editable, its methods will be called when the text is changed. 


AlteredCharSequence An AlteredCharSequence is a CharSequence that is largely mirrored from another CharSequence, except that a specified range of characters are mirrored from a different char array instead. 
AndroidCharacter AndroidCharacter exposes some character properties that are not easily accessed from java.lang.Character. 
Annotation Annotations are simple key-value pairs that are preserved across TextView save/restore cycles and can be used to keep application-specific data that needs to be maintained for regions of text. 
AutoText This class accesses a dictionary of corrections to frequent misspellings. 
BoringLayout A BoringLayout is a very simple Layout implementation for text that fits on a single line and is all left-to-right characters. 
ClipboardManager This class is deprecated. Old text-only interface to the clipboard. See ClipboardManager for the modern API.  
DynamicLayout DynamicLayout is a text layout that updates itself as the text is edited. 
Editable.Factory Factory used by TextView to create new Editables. 
Html This class processes HTML strings into displayable styled text. 
InputFilter.AllCaps This filter will capitalize all the lower case letters that are added through edits. 
InputFilter.LengthFilter This filter will constrain edits not to make the length of the text greater than the specified length. 
Layout A base class that manages text layout in visual elements on the screen. 
Layout.Directions Stores information about bidirectional (left-to-right or right-to-left) text within the layout of a line. 
LoginFilter Abstract class for filtering login-related text (user names and passwords)  
LoginFilter.PasswordFilterGMail This filter is compatible with GMail passwords which restricts characters to the Latin-1 (ISO8859-1) char set. 
LoginFilter.UsernameFilterGeneric This filter rejects characters in the user name that are not compatible with Google login. 
LoginFilter.UsernameFilterGMail This filter rejects characters in the user name that are not compatible with GMail account creation. 
NoCopySpan.Concrete Convenience equivalent for when you would just want a new Object() for a span but want it to be no-copy. 
Selection Utility class for manipulating cursors and selections in CharSequences. 
Spannable.Factory Factory used by TextView to create new Spannables. 
SpannableString This is the class for text whose content is immutable but to which markup objects can be attached and detached. 
SpannableStringBuilder This is the class for text whose content and markup can both be changed. 
SpannedString This is the class for text whose content and markup are immutable. 
StaticLayout StaticLayout is a Layout for text that will not be edited after it is laid out. 
TextPaint TextPaint is an extension of Paint that leaves room for some extra data used during text measuring and drawing. 
TextUtils.SimpleStringSplitter A simple string splitter.