Class NumberSpan
java.lang.Object
icyllis.modernui.markflow.core.style.NumberSpan
- All Implemented Interfaces:
LeadingMarginSpan
,ParagraphStyle
-
Nested Class Summary
Nested classes/interfaces inherited from interface icyllis.modernui.text.style.LeadingMarginSpan
LeadingMarginSpan.LeadingMarginSpan2, LeadingMarginSpan.Standard
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
drawLeadingMargin
(Canvas c, TextPaint 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.int
getLeadingMargin
(TextPaint paint, boolean first) Returns the amount by which to adjust the leading margin.static void
Process supplied `text` argument and supply TextView paint to all NumberSpans in order for them to measure number.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface icyllis.modernui.text.style.LeadingMarginSpan
drawMargin, getLeadingMargin, getTrailingMargin
-
Constructor Details
-
NumberSpan
-
-
Method Details
-
measure
Process supplied `text` argument and supply TextView paint to all NumberSpans in order for them to measure number.NB, this method must be called before setting text to a TextView (`TextView#setText` internally can trigger new Layout creation which will ask for leading margins right away)
- Parameters:
textView
- to which markdown will be appliedmarkdown
- parsed markdown to process
-
getLeadingMargin
Description copied from interface:LeadingMarginSpan
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.The leading margin is on the left for lines in a left-to-right paragraph, and on the right for lines in a right-to-left paragraph. The default implementation is to call
LeadingMarginSpan.getLeadingMargin(boolean)
.Added by Modern UI.
- Specified by:
getLeadingMargin
in interfaceLeadingMarginSpan
- Parameters:
paint
- the base paint (read-only)first
- true if the request is for the first line of a paragraph, false for subsequent lines- Returns:
- the offset for the margin.
-
drawLeadingMargin
public void drawLeadingMargin(@NonNull Canvas c, @NonNull TextPaint p, int x, int dir, int top, int baseline, int bottom, @NonNull CharSequence text, int start, int end, boolean first, @NonNull Layout layout) Description copied from interface:LeadingMarginSpan
Renders the leading margin. This is called before the margin has been adjusted by the value returned byLeadingMarginSpan.getLeadingMargin(TextPaint, boolean)
.- Specified by:
drawLeadingMargin
in interfaceLeadingMarginSpan
- Parameters:
c
- the canvasp
- the paint. This should be left unchanged on exit.x
- the current position of the margindir
- the base direction of the paragraph; if negative, the margin is to the right of the text, otherwise it is to the left.top
- the top of the linebaseline
- the baseline of the linebottom
- the bottom of the linetext
- the textstart
- the start of the lineend
- the end of the linefirst
- true if this is the first line of its paragraphlayout
- the layout containing this line
-