# LeadingMarginSpan

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Summary:[Nested Classes](https://developer.android.com/reference/android/text/style/LeadingMarginSpan#nestedclasses)\|[Methods](https://developer.android.com/reference/android/text/style/LeadingMarginSpan#pubmethods)  

# LeadingMarginSpan

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/text/style/LeadingMarginSpan "View this page in Kotlin")\|Java

`
public


interface
LeadingMarginSpan
`  
`


implements

`[ParagraphStyle](https://developer.android.com/reference/android/text/style/ParagraphStyle)`


`

|--------------------------------------|
| android.text.style.LeadingMarginSpan |

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Known indirect subclasses [BulletSpan](https://developer.android.com/reference/android/text/style/BulletSpan),[DrawableMarginSpan](https://developer.android.com/reference/android/text/style/DrawableMarginSpan),[IconMarginSpan](https://developer.android.com/reference/android/text/style/IconMarginSpan),[LeadingMarginSpan.LeadingMarginSpan2](https://developer.android.com/reference/android/text/style/LeadingMarginSpan.LeadingMarginSpan2),[LeadingMarginSpan.Standard](https://developer.android.com/reference/android/text/style/LeadingMarginSpan.Standard),[QuoteSpan](https://developer.android.com/reference/android/text/style/QuoteSpan) |-----------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [BulletSpan](https://developer.android.com/reference/android/text/style/BulletSpan)                                                     | A span which styles paragraphs as bullet points (respecting layout direction).                                                                                                                                                                                                                             | | [DrawableMarginSpan](https://developer.android.com/reference/android/text/style/DrawableMarginSpan)                                     | A span which adds a drawable and a padding to the paragraph it's attached to.                                                                                                                                                                                                                              | | [IconMarginSpan](https://developer.android.com/reference/android/text/style/IconMarginSpan)                                             | Paragraph affecting span, that draws a bitmap at the beginning of a text.                                                                                                                                                                                                                                  | | [LeadingMarginSpan.LeadingMarginSpan2](https://developer.android.com/reference/android/text/style/LeadingMarginSpan.LeadingMarginSpan2) | An extended version of[LeadingMarginSpan](https://developer.android.com/reference/android/text/style/LeadingMarginSpan), which allows the implementor to specify the number of lines of the paragraph to which this object is attached that the "first line of paragraph" margin width will be applied to. | | [LeadingMarginSpan.Standard](https://developer.android.com/reference/android/text/style/LeadingMarginSpan.Standard)                     | The standard implementation of LeadingMarginSpan, which adjusts the margin but does not do any rendering.                                                                                                                                                                                                  | | [QuoteSpan](https://developer.android.com/reference/android/text/style/QuoteSpan)                                                       | A span which styles paragraphs by adding a vertical stripe at the beginning of the text (respecting layout direction).                                                                                                                                                                                     | |

<br />

*** ** * ** ***

A paragraph style affecting the leading margin. There can be multiple leading margin spans on a single paragraph; they will be rendered in order, each adding its margin to the ones before it. The leading margin is on the right for lines in a right-to-left paragraph.

LeadingMarginSpans should be attached from the first character to the last character of a single paragraph.

## Summary

|                                                                                                                                                                                                                        ### Nested classes                                                                                                                                                                                                                        ||
|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` interface` | [LeadingMarginSpan.LeadingMarginSpan2](https://developer.android.com/reference/android/text/style/LeadingMarginSpan.LeadingMarginSpan2) An extended version of[LeadingMarginSpan](https://developer.android.com/reference/android/text/style/LeadingMarginSpan), which allows the implementor to specify the number of lines of the paragraph to which this object is attached that the "first line of paragraph" margin width will be applied to. |
| ` class`     | [LeadingMarginSpan.Standard](https://developer.android.com/reference/android/text/style/LeadingMarginSpan.Standard) The standard implementation of LeadingMarginSpan, which adjusts the margin but does not do any rendering.                                                                                                                                                                                                                      |

|                                                                                                                                                                                                                                                                                                                                                                        ### Public methods                                                                                                                                                                                                                                                                                                                                                                        ||
|------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` abstract void` | ` `[drawLeadingMargin](https://developer.android.com/reference/android/text/style/LeadingMarginSpan#drawLeadingMargin(android.graphics.Canvas,%20android.graphics.Paint,%20int,%20int,%20int,%20int,%20int,%20java.lang.CharSequence,%20int,%20int,%20boolean,%20android.text.Layout))`(`[Canvas](https://developer.android.com/reference/android/graphics/Canvas)` c, `[Paint](https://developer.android.com/reference/android/graphics/Paint)` p, int x, int dir, int top, int baseline, int bottom, `[CharSequence](https://developer.android.com/reference/java/lang/CharSequence)` text, int start, int end, boolean first, `[Layout](https://developer.android.com/reference/android/text/Layout)` layout) ` Renders the leading margin. |
| ` abstract int`  | ` `[getLeadingMargin](https://developer.android.com/reference/android/text/style/LeadingMarginSpan#getLeadingMargin(boolean))`(boolean first) ` Returns the amount by which to adjust the leading margin.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |

## Public methods

### drawLeadingMargin

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public abstract void drawLeadingMargin (Canvas c, 
                Paint p, 
                int x, 
                int dir, 
                int top, 
                int baseline, 
                int bottom, 
                CharSequence text, 
                int start, 
                int end, 
                boolean first, 
                Layout layout)
```

Renders the leading margin. This is called before the margin has been adjusted by the value returned by[getLeadingMargin(boolean)](https://developer.android.com/reference/android/text/style/LeadingMarginSpan#getLeadingMargin(boolean)).

<br />

|                                                                    Parameters                                                                    ||
|------------|--------------------------------------------------------------------------------------------------------------------------------------|
| `c`        | `Canvas`: the canvas <br />                                                                                                          |
| `p`        | `Paint`: the paint. The this should be left unchanged on exit. <br />                                                                |
| `x`        | `int`: the current position of the margin <br />                                                                                     |
| `dir`      | `int`: the base direction of the paragraph; if negative, the margin is to the right of the text, otherwise it is to the left. <br /> |
| `top`      | `int`: the top of the line <br />                                                                                                    |
| `baseline` | `int`: the baseline of the line <br />                                                                                               |
| `bottom`   | `int`: the bottom of the line <br />                                                                                                 |
| `text`     | `CharSequence`: the text <br />                                                                                                      |
| `start`    | `int`: the start of the line <br />                                                                                                  |
| `end`      | `int`: the end of the line <br />                                                                                                    |
| `first`    | `boolean`: true if this is the first line of its paragraph <br />                                                                    |
| `layout`   | `Layout`: the layout containing this line <br />                                                                                     |

### getLeadingMargin

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public abstract int getLeadingMargin (boolean first)
```

Returns the amount by which to adjust the leading margin. Positive values move away from the leading edge of the paragraph, negative values move towards it.

<br />

|                                                   Parameters                                                    ||
|---------|--------------------------------------------------------------------------------------------------------|
| `first` | `boolean`: true if the request is for the first line of a paragraph, false for subsequent lines <br /> |

|                 Returns                  ||
|-------|-----------------------------------|
| `int` | the offset for the margin. <br /> |