~/talk

Text in Compose: Beyond the Basics

Talkat droidcon London 2024 · 2024-10-31..11-01· [android]
links:none on file
slides:none on file

Explains how Compose turns characters into pixels via StaticLayout → Minikin → HarfBuzz → Skia/FreeType and why Unicode, ligatures, bidi and shaping matter, citing a 5,000 shaped words cache. Covers line-height distribution and new minimum mode to avoid clipping, line-break strategies (simple/high-quality/balance), ICU for break opportunities, and pitfalls of textLayoutResult (one-frame composition delay). Shows concrete APIs and patterns: using text measurer (default cache 8) plus drawText for charts, tap-to-translate offsets, custom underlines, and auto-size support in Compose 1.8.

AI-written summary · about

  1. 0:00Text rendering in Compose
  2. 7:49How text rendering works
  3. 9:31Line height and alignment
  4. 17:38Improving text readability
  5. 23:18Line breaking for languages
  6. 24:01Interacting with TextLayoutResult
  7. 28:57Custom text drawing
  8. 35:59TextLayoutResult vs TextMeasurer
  9. 37:01Compose 1.8 text APIs
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.