English | Site Directory

Android - An Open Handset Alliance Project

android.text
public abstract class

android.text.Layout

java.lang.Object
android.text.Layout

A base class that manages text layout in visual elements on the screen.

For text that will be edited, use a DynamicLayout, which will be updated as the text changes. For text that will not change, use a StaticLayout.

Nested Classes
Layout.Alignment  
Layout.Directions Stores information about bidirectional (left-to-right or right-to-left) text within the layout of a line. 
Known Direct Subclasses

Summary

Constants

      Value  
int  DIR_LEFT_TO_RIGHT    0x00000001 
int  DIR_RIGHT_TO_LEFT    -1  0xffffffff 

Protected Constructors

          Layout(CharSequence text, TextPaint paint, int width, Alignment align, float spacingmult, float spacingadd)
Subclasses of Layout use this constructor to set the display text, width, and other standard properties.

Public Methods

        void  draw(Canvas c)
Draw this Layout on the specified Canvas.
        void  draw(Canvas c, Path hilite, Paint hilitepaint)
Draw the specified rectangle from this Layout on the specified Canvas, with the specified path drawn between the background and the text.
    final    Alignment  getAlignment()
Return the base alignment of this layout.
abstract        int  getBottomPadding()
Returns the number of extra pixels of descent padding in the bottom line of the Layout.
        void  getCursorPath(int point, Path dest, CharSequence editingBuffer)
Fills in the specified Path with a representation of a cursor at the specified offset.
      static  float  getDesiredWidth(CharSequence source, int start, int end, TextPaint paint)
Return how wide a layout would be necessary to display the specified text slice with one line per paragraph.
      static  float  getDesiredWidth(CharSequence source, TextPaint paint)
Return how wide a layout would be necessary to display the specified text with one line per paragraph.
        int  getHeight()
Return the total height of this layout.
    final    int  getLineAscent(int line)
Get the ascent of the text on the specified line.
    final    int  getLineBaseline(int line)
Return the vertical position of the baseline of the specified line.
    final    int  getLineBottom(int line)
Return the vertical position of the bottom of the specified line.
        int  getLineBounds(int line, Rect bounds)
Return the baseline for the specified line (0…getLineCount() - 1) If bounds is not null, return the top, left, right, bottom extents of the specified line in it.
abstract        boolean  getLineContainsTab(int line)
Returns whether the specified line contains one or more tabs.
abstract        int  getLineCount()
Return the number of lines of text in this layout.
abstract        int  getLineDescent(int line)
Return the descent of the specified line.
abstract        Directions  getLineDirections(int line)
Returns an array of directionalities for the specified line.
    final    int  getLineEnd(int line)
Return the text offset after the last character on the specified line.
        int  getLineForOffset(int offset)
Get the line number on which the specified text offset appears.
        int  getLineForVertical(int vertical)
Get the line number corresponding to the specified vertical position.
        float  getLineLeft(int line)
Get the leftmost position that should be exposed for horizontal scrolling on the specified line.
        float  getLineMax(int line)
Get the horizontal extent of the specified line.
        float  getLineRight(int line)
Get the rightmost position that should be exposed for horizontal scrolling on the specified line.
abstract        int  getLineStart(int line)
Return the text offset of the beginning of the specified line.
abstract        int  getLineTop(int line)
Return the vertical position of the top of the specified line.
        int  getLineVisibleEnd(int line)
Return the text offset after the last visible character (so whitespace is not counted) on the specified line.
        int  getOffsetForHorizontal(int line, float horiz)
Get the character offset on the specfied line whose position is closest to the specified horizontal position.
        int  getOffsetToLeftOf(int offset)
Return the text offset that would be reached by moving left (possibly onto another line) from the specified offset.
        int  getOffsetToRightOf(int offset)
Return the text offset that would be reached by moving right (possibly onto another line) from the specified offset.
    final    TextPaint  getPaint()
Return the base Paint properties for this layout.
    final    Alignment  getParagraphAlignment(int line)
Get the alignment of the specified paragraph, taking into account markup attached to it.
abstract        int  getParagraphDirection(int line)
Returns the primary directionality of the paragraph containing the specified line.
    final    int  getParagraphLeft(int line)
Get the left edge of the specified paragraph, inset by left margins.
    final    int  getParagraphRight(int line)
Get the right edge of the specified paragraph, inset by right margins.
        float  getPrimaryHorizontal(int offset)
Get the primary horizontal position for the specified text offset.
        float  getSecondaryHorizontal(int offset)
Get the secondary horizontal position for the specified text offset.
        void  getSelectionPath(int start, int end, Path dest)
Fills in the specified Path with a representation of a highlight between the specified offsets.
    final    float  getSpacingAdd()
Return the number of units of leading that are added to each line.
    final    float  getSpacingMultiplier()
Return what the text height is multiplied by to get the line height.
    final    CharSequence  getText()
Return the text that is displayed by this Layout.
abstract        int  getTopPadding()
Returns the (negative) number of extra pixels of ascent padding in the top line of the Layout.
    final    int  getWidth()
Return the width of this layout.
    final    void  increaseWidthTo(int wid)
Increase the width of this layout to the specified width.

Protected Methods

    final    boolean  isSpanned()
Methods inherited from class java.lang.Object

Details

Constants

public static final int DIR_LEFT_TO_RIGHT

Constant Value: 1 (0x00000001)

public static final int DIR_RIGHT_TO_LEFT

Constant Value: -1 (0xffffffff)

Protected Constructors

protected Layout(CharSequence text, TextPaint paint, int width, Alignment align, float spacingmult, float spacingadd)

Subclasses of Layout use this constructor to set the display text, width, and other standard properties.

Public Methods

public void draw(Canvas c)

Draw this Layout on the specified Canvas.

public void draw(Canvas c, Path hilite, Paint hilitepaint)

Draw the specified rectangle from this Layout on the specified Canvas, with the specified path drawn between the background and the text.

public final Alignment getAlignment()

Return the base alignment of this layout.

public abstract int getBottomPadding()

Returns the number of extra pixels of descent padding in the bottom line of the Layout.

public void getCursorPath(int point, Path dest, CharSequence editingBuffer)

Fills in the specified Path with a representation of a cursor at the specified offset. This will often be a vertical line but can be multiple discontinous lines in text with multiple directionalities.

public static float getDesiredWidth(CharSequence source, int start, int end, TextPaint paint)

Return how wide a layout would be necessary to display the specified text slice with one line per paragraph.

public static float getDesiredWidth(CharSequence source, TextPaint paint)

Return how wide a layout would be necessary to display the specified text with one line per paragraph.

public int getHeight()

Return the total height of this layout.

public final int getLineAscent(int line)

Get the ascent of the text on the specified line. The return value is negative to match the Paint.ascent() convention.

public final int getLineBaseline(int line)

Return the vertical position of the baseline of the specified line.

public final int getLineBottom(int line)

Return the vertical position of the bottom of the specified line.

public int getLineBounds(int line, Rect bounds)

Return the baseline for the specified line (0…getLineCount() - 1) If bounds is not null, return the top, left, right, bottom extents of the specified line in it.

Parameters

line which line to examine (0..getLineCount() - 1)
bounds Optional. If not null, it returns the extent of the line

Returns

  • the Y-coordinate of the baseline

public abstract boolean getLineContainsTab(int line)

Returns whether the specified line contains one or more tabs.

public abstract int getLineCount()

Return the number of lines of text in this layout.

public abstract int getLineDescent(int line)

Return the descent of the specified line.

public abstract Directions getLineDirections(int line)

Returns an array of directionalities for the specified line. The array alternates counts of characters in left-to-right and right-to-left segments of the line.

public final int getLineEnd(int line)

Return the text offset after the last character on the specified line.

public int getLineForOffset(int offset)

Get the line number on which the specified text offset appears. If you ask for a position before 0, you get 0; if you ask for a position beyond the end of the text, you get the last line.

public int getLineForVertical(int vertical)

Get the line number corresponding to the specified vertical position. If you ask for a position above 0, you get 0; if you ask for a position below the bottom of the text, you get the last line.

public float getLineLeft(int line)

Get the leftmost position that should be exposed for horizontal scrolling on the specified line.

public float getLineMax(int line)

Get the horizontal extent of the specified line.

public float getLineRight(int line)

Get the rightmost position that should be exposed for horizontal scrolling on the specified line.

public abstract int getLineStart(int line)

Return the text offset of the beginning of the specified line. If the specified line is one beyond the last line, returns the end of the last line.

public abstract int getLineTop(int line)

Return the vertical position of the top of the specified line. If the specified line is one beyond the last line, returns the bottom of the last line.

public int getLineVisibleEnd(int line)

Return the text offset after the last visible character (so whitespace is not counted) on the specified line.

public int getOffsetForHorizontal(int line, float horiz)

Get the character offset on the specfied line whose position is closest to the specified horizontal position.

public int getOffsetToLeftOf(int offset)

Return the text offset that would be reached by moving left (possibly onto another line) from the specified offset.

public int getOffsetToRightOf(int offset)

Return the text offset that would be reached by moving right (possibly onto another line) from the specified offset.

public final TextPaint getPaint()

Return the base Paint properties for this layout. Do NOT change the paint, which may result in funny drawing for this layout.

public final Alignment getParagraphAlignment(int line)

Get the alignment of the specified paragraph, taking into account markup attached to it.

public abstract int getParagraphDirection(int line)

Returns the primary directionality of the paragraph containing the specified line.

public final int getParagraphLeft(int line)

Get the left edge of the specified paragraph, inset by left margins.

public final int getParagraphRight(int line)

Get the right edge of the specified paragraph, inset by right margins.

public float getPrimaryHorizontal(int offset)

Get the primary horizontal position for the specified text offset. This is the location where a new character would be inserted in the paragraph's primary direction.

public float getSecondaryHorizontal(int offset)

Get the secondary horizontal position for the specified text offset. This is the location where a new character would be inserted in the direction other than the paragraph's primary direction.

public void getSelectionPath(int start, int end, Path dest)

Fills in the specified Path with a representation of a highlight between the specified offsets. This will often be a rectangle or a potentially discontinuous set of rectangles. If the start and end are the same, the returned path is empty.

public final float getSpacingAdd()

Return the number of units of leading that are added to each line.

public final float getSpacingMultiplier()

Return what the text height is multiplied by to get the line height.

public final CharSequence getText()

Return the text that is displayed by this Layout.

public abstract int getTopPadding()

Returns the (negative) number of extra pixels of ascent padding in the top line of the Layout.

public final int getWidth()

Return the width of this layout.

public final void increaseWidthTo(int wid)

Increase the width of this layout to the specified width. Be careful to use this only when you know it is appropriate -- it does not cause the text to reflow to use the full new width.

Protected Methods

protected final boolean isSpanned()

Build m5-rc15i - 10 Jun 2008 13:54