Android 16 × Jetpack Composeで縦書きテキストエディタを作ろう

Android 16でPaintに追加されるVERTICAL_TEXT_FLAGにより、ついに標準で縦書きテキストの描画が可能になります。 本セッションではその新機能とJetpack Composeを組み合わせた簡単な縦書きテキストエディタの実装方法を具体的なコードを交えて紹介します。 Androidで縦書きを簡単に使うにはWebViewが必要でした。一方iOSでは以前より縦書きのテキスト描画がサポートされていたため、縦書きのできるテキストエディタアプリの数はAndroidとiOSで天と地ほどの差がある現状です。 日本語文化の重要なピースである縦書きをAndroidにも普及させるべく、本セッションにより誰もが「Androidで縦書きエディタを作れる」ようになることを目指します。 本セッションではAndroid 16の縦書きのテキスト描画APIのことだけではなく、Jetpack Composeで独自のテキストエディタを作る方法も説明します。 またJetpack Composeにはテキストの表示からIMEによるテキスト入力を分離して抽象的に扱うことのできる先進的な設計が存在しており、その先進性についてAndroid従来のView含めた他のプラットフォームの事情と比較して解説します。 #発表のアウトライン ## 縦書きテキスト ・PaintへのVERTICAL_TEXT_FLAGの追加 ・縦書きテキストの描画 ## Jetpack Composeのテキスト入力とテキスト描画 ・PlatformTextInputModifierNode とは ・AndroidのInputConnectionとの関係について ・androidx.compose.text.input からの変遷 ## Jetpack Composeと他プラットフォームのテキスト入力周りのAPI設計 ・iOS, macOS, Windowsとの比較 ## 具体的な縦書きエディタの実装コード

  • rokuroku pixiv Inc.


概要

  • 日時 2025.09.12 / 11:20 ~ 12:00 (40min)
  • 場所 Jellyfish
  • 言語 日本語

対象者

Androidアプリ開発の基本的な知識のある方を対象にします。 特にAndroidで縦書きエディタを作りたい方に届けたいです。縦書きに興味のある方、Jetpack Composeでのテキストエディタ開発に興味のある方にもおすすめです。

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、Google Play ロゴは、Google Inc. の商標です。
これまでのDroidKaigi

© 2014- DroidKaigi Committee