public class Span
Kotlin wrapper around SpannableStringBuilder Inspired by JakeWharton's Truss and Kotlin's kotlinx.html
Example:
val span = span {
text("Regular text\n")
+"Or with plus operator.\n\n"
+"Spans "
bold {
+"are "
strikethrough { +"hard?\n" }
}
// Nested spans
italic {
backgroundColor(Color.Black) {
foregroundColor(Color.BLUE) {
+"Nested spans "
}
}
boldItalic {
+"are so cool!\n"
}
}
// Click example
quote(Color.RED) {
url("https://google.com", { println(it.url); /*redirect?*/true }) {
monospace {
+"Google"
}
}
}
}
textView.text = span.build()
Modifier and Type | Class and Description |
---|---|
static class |
Span.Leaf |
static class |
Span.Node |
Constructor and Description |
---|
Span()
Kotlin wrapper around SpannableStringBuilder
Inspired by JakeWharton's Truss and Kotlin's kotlinx.html
|
Modifier and Type | Method and Description |
---|---|
Span |
absoluteSize(int size,
boolean dip,
android.text.style.AbsoluteSizeSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
align(android.text.Layout.Alignment align,
android.text.style.AlignmentSpan.Standard span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
appearance(android.content.Context context,
int appearance,
android.text.style.TextAppearanceSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
backgroundColor(int color,
android.text.style.BackgroundColorSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
bold(android.text.style.StyleSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
boldItalic(android.text.style.StyleSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
android.text.Spannable |
build(android.text.SpannableStringBuilder builder) |
Span |
bullet(int gapWidth,
int color,
android.text.style.BulletSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
clickable(kotlin.jvm.functions.Function1<? super android.text.style.ClickableSpan,kotlin.Unit> onClick,
kotlin.jvm.functions.Function1<? super android.text.TextPaint,kotlin.Unit> style,
android.text.style.ClickableSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
drawableMargin(android.graphics.drawable.Drawable drawable,
int padding,
android.text.style.DrawableMarginSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
foregroundColor(int color,
android.text.style.ForegroundColorSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
iconMargin(android.graphics.Bitmap bitmap,
int padding,
android.text.style.IconMarginSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
image(android.content.Context context,
android.graphics.Bitmap bitmap,
int verticalAlignment,
android.text.style.ImageSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
image(android.graphics.drawable.Drawable drawable,
int verticalAlignment,
android.text.style.ImageSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
image(android.content.Context context,
android.net.Uri uri,
int verticalAlignment,
android.text.style.ImageSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
image(android.content.Context context,
int resourceId,
int verticalAlignment,
android.text.style.ImageSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
italic(android.text.style.StyleSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
leadingMargin(int every,
android.text.style.LeadingMarginSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
leadingMargin(int first,
int rest,
android.text.style.LeadingMarginSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
mask(android.graphics.MaskFilter filter,
android.text.style.MaskFilterSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
monospace(android.text.style.TypefaceSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
normal(android.text.style.StyleSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
quote(int color,
android.text.style.QuoteSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
relativeSize(float proportion,
android.text.style.RelativeSizeSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
sansSerif(android.text.style.TypefaceSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
scaleX(float proportion,
android.text.style.ScaleXSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
serif(android.text.style.TypefaceSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
span(java.lang.Object what,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span.Node,kotlin.Unit> init) |
Span |
strikethrough(android.text.style.StrikethroughSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
style(int style,
android.text.style.StyleSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
subscript(android.text.style.SubscriptSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
superscript(android.text.style.SuperscriptSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
text(java.lang.String content) |
Span |
typeface(java.lang.String family,
android.text.style.TypefaceSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
unaryPlus(java.lang.String $receiver) |
Span |
underline(android.text.style.UnderlineSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
Span |
url(java.lang.String url,
kotlin.jvm.functions.Function1<? super android.text.style.URLSpan,java.lang.Boolean> onClick,
android.text.style.URLSpan span,
kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init) |
public Span()
Kotlin wrapper around SpannableStringBuilder Inspired by JakeWharton's Truss and Kotlin's kotlinx.html
Example:
val span = span {
text("Regular text\n")
+"Or with plus operator.\n\n"
+"Spans "
bold {
+"are "
strikethrough { +"hard?\n" }
}
// Nested spans
italic {
backgroundColor(Color.Black) {
foregroundColor(Color.BLUE) {
+"Nested spans "
}
}
boldItalic {
+"are so cool!\n"
}
}
// Click example
quote(Color.RED) {
url("https://google.com", { println(it.url); /*redirect?*/true }) {
monospace {
+"Google"
}
}
}
}
textView.text = span.build()
public android.text.Spannable build(android.text.SpannableStringBuilder builder)
public Span span(java.lang.Object what, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span.Node,kotlin.Unit> init)
public Span text(java.lang.String content)
public Span unaryPlus(java.lang.String $receiver)
public Span style(int style, android.text.style.StyleSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span normal(android.text.style.StyleSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span bold(android.text.style.StyleSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span italic(android.text.style.StyleSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span boldItalic(android.text.style.StyleSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span underline(android.text.style.UnderlineSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span typeface(java.lang.String family, android.text.style.TypefaceSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span sansSerif(android.text.style.TypefaceSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span serif(android.text.style.TypefaceSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span monospace(android.text.style.TypefaceSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span appearance(android.content.Context context, int appearance, android.text.style.TextAppearanceSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span superscript(android.text.style.SuperscriptSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span subscript(android.text.style.SubscriptSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span strikethrough(android.text.style.StrikethroughSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span scaleX(float proportion, android.text.style.ScaleXSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span relativeSize(float proportion, android.text.style.RelativeSizeSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span absoluteSize(int size, boolean dip, android.text.style.AbsoluteSizeSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span quote(int color, android.text.style.QuoteSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span mask(android.graphics.MaskFilter filter, android.text.style.MaskFilterSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span leadingMargin(int every, android.text.style.LeadingMarginSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span leadingMargin(int first, int rest, android.text.style.LeadingMarginSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span foregroundColor(int color, android.text.style.ForegroundColorSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span backgroundColor(int color, android.text.style.BackgroundColorSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span bullet(int gapWidth, int color, android.text.style.BulletSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span align(android.text.Layout.Alignment align, android.text.style.AlignmentSpan.Standard span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span drawableMargin(android.graphics.drawable.Drawable drawable, int padding, android.text.style.DrawableMarginSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span iconMargin(android.graphics.Bitmap bitmap, int padding, android.text.style.IconMarginSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span image(android.content.Context context, android.graphics.Bitmap bitmap, int verticalAlignment, android.text.style.ImageSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span image(android.graphics.drawable.Drawable drawable, int verticalAlignment, android.text.style.ImageSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span image(android.content.Context context, android.net.Uri uri, int verticalAlignment, android.text.style.ImageSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span image(android.content.Context context, int resourceId, int verticalAlignment, android.text.style.ImageSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span clickable(kotlin.jvm.functions.Function1<? super android.text.style.ClickableSpan,kotlin.Unit> onClick, kotlin.jvm.functions.Function1<? super android.text.TextPaint,kotlin.Unit> style, android.text.style.ClickableSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)
public Span url(java.lang.String url, kotlin.jvm.functions.Function1<? super android.text.style.URLSpan,java.lang.Boolean> onClick, android.text.style.URLSpan span, kotlin.jvm.functions.Function1<? super com.bixlabs.bkotlin.Span,kotlin.Unit> init)