Upgrade to Pro — share decks privately, control downloads, hide ads and more …

textAlignVertical Best Practice

Avatar for Shinnosuke Yamamoto Shinnosuke Yamamoto
November 26, 2025
13

textAlignVertical Best Practice

Avatar for Shinnosuke Yamamoto

Shinnosuke Yamamoto

November 26, 2025
Tweet

More Decks by Shinnosuke Yamamoto

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