Build a Vertical Text Editor with Android 16 × Jetpack Compose
summary
Shows how Android 16’s Paint.VERTICAL_TEXT_FLAG enables drawing vertical Japanese text in Jetpack Compose and presents a demo vertical text editor built with Compose and a VerticalTextLayout that supports ruby, tate-chu-yoko, and sideways text. Describes three input-integration approaches—legacy TextInputService, establishInputConnection via PlatformTextInputModifierNode, and the experimental PlatformTextInputInterceptor—and notes that BasicTextField with TextFieldState syncing is usable but caret/candidate-window placement and emoji glyph offsets need extra handling; requires API level 36 (Android 16) and has limited adoption (~1%).
AI-written summary · about
chapters (12)
- 0:00Introduction
- 1:45Vertical text need
- 8:55Android 16 vertical text
- 10:44Drawing vertical text
- 13:16Vertical text tips
- 16:29VerticalTextLayout
- 20:24Editor architecture
- 24:43Custom editor with TextInputService
- 30:09TextInputModifierNode use
- 33:23TextFieldState state
- 36:38Custom editor summary
- 38:41Future outlook
related talks
37mIntroducing Project Tate: Unlocking Native Ver…
50mImplementing a Vertical TextView from Scratch and Related Techniques
38mWrite it down: Using text in Jetpack Compose
26mDeep Dive into Jetpack Compose Text
39mUnderstanding Compose Text Field
41mTextField in Jetpack Compose:past, present and future
36mBest practices for using text in Android
35mReimagining text fields in Compose
