Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

textAlignVertical Best Practice

Avatar for Shinnosuke Yamamoto Shinnosuke Yamamoto
November 26, 2025
110

textAlignVertical Best Practice

Avatar for Shinnosuke Yamamoto

Shinnosuke Yamamoto

November 26, 2025
Tweet

Transcript

  1. ⾃⼰紹介 • JMDC, Inc / ventus, Inc ◦ Mobile App

    Engineer ◦ Scrum Master • React Native Meetup Organizer • 卒: ⾼専(情報⼯学) / 現: ⼤学⽣(認知科学) 2
  2. 上下中央揃えしたいが、OSで揃わないので調べた • テキストの垂直中央揃えが Android / iOS でずれる問題があった ◦ iOSは垂直中央揃えされるが、Androidはされてくれないことがほとんど •

    原因は、フォントの描画⽅式の差分だった • その違いと対処⽅法についてまとめた なんか上に寄ってる こうなってほしい 3
  3. Androidは top / bottom を基準にする • includeFontPadding で基準が変わる ◦ true:

    top / bottom ◦ false: ascent / descent • default: true のため、iOSとフォントの⾼さに差分が出る 7
  4. Androidでの対処法 • includeFontPadding: false でiOSと⾼さをそろえる • lineHeightをfont sizeの1.2-1.5倍にする ◦ includeFontPadding:

    false すると、⾒切れることがある ◦ Material Design Guidelineに⽬安が書いてある • textAlignVertical: 'center'で 垂直中央揃え 9
  5. まとめ • プラットフォームごとにテキストの取扱に差分があった • 垂直⽅向の中央揃えをするには、それぞれに適した対応が必要 ◦ 共通 ▪ フォントの⾼さをそろえる ◦

    iOS ▪ lineHeight で垂直の余⽩を無くす (必要に応じて) ◦ Android ▪ textAlignVertical で中央揃え ▪ lineHeight で⾒切れを防ぐ 12