Html


public class Html
extends Object

java.lang.Object
   ↳ android.text.Html


This class processes HTML strings into displayable styled text. Not all HTML tags are supported.

Summary

Nested classes

interface Html.ImageGetter

Retrieves images for HTML tags. 

interface Html.TagHandler

Is notified when HTML tags are encountered that the parser does not know how to interpret. 

Constants

int FROM_HTML_MODE_COMPACT

Flags for fromHtml(java.lang.String, int, android.text.Html.ImageGetter, android.text.Html.TagHandler): Separate block-level elements with line breaks (single newline character) in between.

int FROM_HTML_MODE_LEGACY

Flags for fromHtml(java.lang.String, int, android.text.Html.ImageGetter, android.text.Html.TagHandler): Separate block-level elements with blank lines (two newline characters) in between.

int FROM_HTML_OPTION_USE_CSS_COLORS

Flag indicating that CSS color values should be used instead of those defined in Color.

int FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE

Flag indicating that texts inside

elements will be separated from other texts with one newline character by default.

int FROM_HTML_SEPARATOR_LINE_BREAK_DIV

Flag indicating that texts inside

elements will be separated from other texts with one newline character by default.

int FROM_HTML_SEPARATOR_LINE_BREAK_HEADING

Flag indicating that texts inside

~

elements will be separated from other texts with one newline character by default.

int FROM_HTML_SEPARATOR_LINE_BREAK_LIST

Flag indicating that texts inside

    elements will be separated from other texts with one newline character by default.

int FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM

Flag indicating that texts inside

  • elements will be separated from other texts with one newline character by default.

  • int FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH

    Flag indicating that texts inside

    elements will be separated from other texts with one newline character by default.

    int TO_HTML_PARAGRAPH_LINES_CONSECUTIVE

    Option for toHtml(android.text.Spanned, int): Wrap consecutive lines of text delimited by '\n' inside

    elements.

    int TO_HTML_PARAGRAPH_LINES_INDIVIDUAL

    Option for toHtml(android.text.Spanned, int): Wrap each line of text delimited by '\n' inside a

    or a

  • element.

  • Public methods

    static String escapeHtml(CharSequence text)

    Returns an HTML escaped representation of the given plain text.

    static Spanned fromHtml(String source, int flags)

    Returns displayable styled text from the provided HTML string.

    static Spanned fromHtml(String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler)

    This method was deprecated in API level 24. use fromHtml(java.lang.String, int, android.text.Html.ImageGetter, android.text.Html.TagHandler) instead.

    static Spanned fromHtml(String source, int flags, Html.ImageGetter imageGetter, Html.TagHandler tagHandler)

    Returns displayable styled text from the provided HTML string.

    static Spanned fromHtml(String source)

    This method was deprecated in API level 24. use fromHtml(java.lang.String, int) instead.

    static String toHtml(Spanned text, int option)

    Returns an HTML representation of the provided Spanned text.

    static String toHtml(Spanned text)

    This method was deprecated in API level 24. use toHtml(android.text.Spanned, int) instead.

    Inherited methods

    Constants

    FROM_HTML_MODE_COMPACT

    Added in API level 24
    public static final int FROM_HTML_MODE_COMPACT

    Flags for fromHtml(java.lang.String, int, android.text.Html.ImageGetter, android.text.Html.TagHandler): Separate block-level elements with line breaks (single newline character) in between. This inverts the Spanned to HTML string conversion done with the option TO_HTML_PARAGRAPH_LINES_INDIVIDUAL.

    Constant Value: 63 (0x0000003f)

    FROM_HTML_MODE_LEGACY

    Added in API level 24
    public static final int FROM_HTML_MODE_LEGACY

    Flags for fromHtml(java.lang.String, int, android.text.Html.ImageGetter, android.text.Html.TagHandler): Separate block-level elements with blank lines (two newline characters) in between. This is the legacy behavior prior to N.

    Constant Value: 0 (0x00000000)

    FROM_HTML_OPTION_USE_CSS_COLORS

    Added in API level 24
    public static final int FROM_HTML_OPTION_USE_CSS_COLORS

    Flag indicating that CSS color values should be used instead of those defined in Color.

    Constant Value: 256 (0x00000100)

    FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE

    Added in API level 24
    public static final int FROM_HTML_SEPARATOR_LINE_BREAK_BLOCKQUOTE

    Flag indicating that texts inside

    elements will be separated from other texts with one newline character by default.

    Constant Value: 32 (0x00000020)

    FROM_HTML_SEPARATOR_LINE_BREAK_DIV

    Added in API level 24
    public static final int FROM_HTML_SEPARATOR_LINE_BREAK_DIV

    Flag indicating that texts inside

    elements will be separated from other texts with one newline character by default.

    Constant Value: 16 (0x00000010)

    FROM_HTML_SEPARATOR_LINE_BREAK_HEADING

    Added in API level 24
    public static final int FROM_HTML_SEPARATOR_LINE_BREAK_HEADING

    Flag indicating that texts inside

    ~

    elements will be separated from other texts with one newline character by default.

    Constant Value: 2 (0x00000002)

    FROM_HTML_SEPARATOR_LINE_BREAK_LIST

    Added in API level 24
    public static final int FROM_HTML_SEPARATOR_LINE_BREAK_LIST

    Flag indicating that texts inside

      elements will be separated from other texts with one newline character by default.

      Constant Value: 8 (0x00000008)

    FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM

    Added in API level 24
    public static final int FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM

    Flag indicating that texts inside

  • elements will be separated from other texts with one newline character by default.

    Constant Value: 4 (0x00000004)

  • FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH

    Added in API level 24
    public static final int FROM_HTML_SEPARATOR_LINE_BREAK_PARAGRAPH

    Flag indicating that texts inside

    elements will be separated from other texts with one newline character by default.

    Constant Value: 1 (0x00000001)

    TO_HTML_PARAGRAPH_LINES_CONSECUTIVE

    Added in API level 24
    public static final int TO_HTML_PARAGRAPH_LINES_CONSECUTIVE

    Option for toHtml(android.text.Spanned, int): Wrap consecutive lines of text delimited by '\n' inside

    elements. BulletSpans are ignored.

    Constant Value: 0 (0x00000000)

    TO_HTML_PARAGRAPH_LINES_INDIVIDUAL

    Added in API level 24
    public static final int TO_HTML_PARAGRAPH_LINES_INDIVIDUAL

    Option for toHtml(android.text.Spanned, int): Wrap each line of text delimited by '\n' inside a

    or a

  • element. This allows ParagraphStyles attached to be encoded as CSS styles within the corresponding

    or

  • element.

    Constant Value: 1 (0x00000001)

  • Public methods

    escapeHtml

    Added in API level 16
    public static String escapeHtml (CharSequence text)

    Returns an HTML escaped representation of the given plain text.

    Parameters
    text CharSequence
    Returns
    String

    fromHtml

    Added in API level 24
    public static Spanned fromHtml (String source, 
                    int flags)

    Returns displayable styled text from the provided HTML string. Any tags in the HTML will display as a generic replacement image which your program can then go through and replace with real images.

    This uses TagSoup to handle real HTML, including all of the brokenness found in the wild.

    Parameters
    source String
    flags int
    Returns
    Spanned

    fromHtml

    Added in API level 1
    Deprecated in API level 24
    public static Spanned fromHtml (String source, 
                    Html.ImageGetter imageGetter, 
                    Html.TagHandler tagHandler)

    This method was deprecated in API level 24.
    use fromHtml(java.lang.String, int, android.text.Html.ImageGetter, android.text.Html.TagHandler) instead.

    Returns displayable styled text from the provided HTML string with the legacy flags FROM_HTML_MODE_LEGACY.

    Parameters
    source String
    imageGetter Html.ImageGetter
    tagHandler Html.TagHandler
    Returns
    Spanned

    fromHtml

    Added in API level 24
    public static Spanned fromHtml (String source, 
                    int flags, 
                    Html.ImageGetter imageGetter, 
                    Html.TagHandler tagHandler)

    Returns displayable styled text from the provided HTML string. Any tags in the HTML will use the specified ImageGetter to request a representation of the image (use null if you don't want this) and the specified TagHandler to handle unknown tags (specify null if you don't want this).

    This uses TagSoup to handle real HTML, including all of the brokenness found in the wild.

    Parameters
    source String
    flags int
    imageGetter Html.ImageGetter
    tagHandler Html.TagHandler
    Returns
    Spanned

    fromHtml

    Added in API level 1
    Deprecated in API level 24
    public static Spanned fromHtml (String source)

    This method was deprecated in API level 24.
    use fromHtml(java.lang.String, int) instead.

    Returns displayable styled text from the provided HTML string with the legacy flags FROM_HTML_MODE_LEGACY.

    Parameters
    source String
    Returns
    Spanned

    toHtml

    Added in API level 24
    public static String toHtml (Spanned text, 
                    int option)

    Returns an HTML representation of the provided Spanned text. A best effort is made to add HTML tags corresponding to spans. Also note that HTML metacharacters (such as "<" and "&") within the input text are escaped.

    Parameters
    text Spanned: input text to convert
    option int: one of TO_HTML_PARAGRAPH_LINES_CONSECUTIVE or TO_HTML_PARAGRAPH_LINES_INDIVIDUAL
    Returns
    String string containing input converted to HTML

    toHtml

    Added in API level 1
    Deprecated in API level 24
    public static String toHtml (Spanned text)

    This method was deprecated in API level 24.
    use toHtml(android.text.Spanned, int) instead.

    Parameters
    text Spanned
    Returns
    String