Let’s Build an Editor for Vertical Text with Android 16 and Jetpack Compose

With the new VERTICAL_TEXT_FLAG added to Paint in Android 16, Android finally supports vertical text rendering natively. This session shows, with concrete code examples, how to combine that new feature with Jetpack Compose to build a simple vertical-text editor. Until now, anyone wanting easy vertical writing on Android had to resort to a WebView. By contrast, iOS has long supported vertical text, so the number of vertical-writing editors on iOS and Android differs dramatically. To help spread this essential aspect of Japanese typography on Android, this talk aims to make anyone be able to build a vertical-text editor on Android. The session covers not only the new vertical-text API in Android 16 but also how to craft a custom text editor in Jetpack Compose. Jetpack Compose separates text display from IME input through an advanced, abstracted design. We’ll explore that forward-looking architecture and compare it with the classic Android View system and other platforms. # Presentation Outline ## Vertical Text - Addition of VERTICAL_TEXT_FLAG to Paint - Rendering vertical text ## Jetpack Compose: Text Input & Rendering - What is PlatformTextInputModifierNode? - Relationship to Android’s InputConnection - Evolution since androidx.compose.text.input ## API Design for Text Input: Compose vs. Other Platforms - Comparisons with iOS, macOS, and Windows ## Complete Implementation: Building a Vertical-Text Editor (Translated by the DroidKaigi Committee)

  • rokuroku pixiv Inc.


Summary

  • Dates 2025.09.12 / 11:20 ~ 12:00 (40min)
  • Place Jellyfish
  • Language Japanese

Intended audience

This session targets developers with basic Android-app knowledge, especially those eager to create a vertical-text editor on Android. Anyone interested in vertical writing or text-editor development with Jetpack Compose will also benefit.

Android is a trademark of Google LLC. The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License. Android, Google Play and the Google Play logo are trademarks of Google LLC.

© 2014- DroidKaigi Committee