Spread your Wings with Spannables
summary
Claims that Spannables render faster and crisper than Html.toText() is slower and fuzzier get demonstrated with concrete patterns: use ReplacementSpan’s draw method for rounded background buttons that avoid extra view hierarchy and overdraw, ImageSpan/Drawable bounds for inline icons, LocaleSpan for mixed-language brand names, MaskFilter for blurs, ClickableSpan for one-line tappable links, and SpanWatcher to detect edits and animate emoticons. An “encyclopedia” of span types exists and a companion app and GitHub examples are promised, with production examples like New York Times and Google Docs cited.
AI-written summary · about
chapters (19)
- 0:00Intro
- 0:36Preface
- 1:14Spannables
- 4:02Encyclopedia
- 5:18Examples
- 7:03Why Spannables
- 9:25Better Views
- 11:30Expandable Types
- 13:26Simple Spannable
- 15:38Expandable Spannable
- 17:16Clickable Spannable
- 18:56Canvas Spannable
- 22:14Locale Span
- 23:42Image Span
- 24:38Color Span
- 25:32Accessibility
- 27:28Bonus Points
- 30:46Thanks
- 31:33Questions
related talks
23mThe lesser-known world of Spans
18mDive into Animate Spans with text and performance
36mPractical implementations of powerful UI expressions using Jetpack Compose
37mAndroid Text, The Good The Bad and The ugly
35mBest practices for text on Android
38mWrite it down: Using text in Jetpack Compose
45mTheme On
31mComposing in your Canvas!
