RORK LABEN
MAX — Rork MaxはネイティブSwiftアプリを生成し、iPhone・iPad・Apple Watch・Apple TV・Vision Pro・iMessageに対応しますNATIVE — Rork MaxはAR/LiDAR・Metalの3D・ウィジェット・Dynamic Island・Live Activities・HealthKit・Core MLなどネイティブ機能を解放しますSTACK — RorkはReact Native(Expo)でiOS/Androidのネイティブアプリを生成し、英語の説明だけで動くコードを書き出しますGROWTH — Rorkの月間アクセスは743,000件を超え、成長率は85%に達していますPRICE — 料金は無料から始められ、有料プランは月$25から利用できますTREND — Gartnerは2026年末までに新規アプリの75%がローコード/ノーコードで作られると予測していますMAX — Rork MaxはネイティブSwiftアプリを生成し、iPhone・iPad・Apple Watch・Apple TV・Vision Pro・iMessageに対応しますNATIVE — Rork MaxはAR/LiDAR・Metalの3D・ウィジェット・Dynamic Island・Live Activities・HealthKit・Core MLなどネイティブ機能を解放しますSTACK — RorkはReact Native(Expo)でiOS/Androidのネイティブアプリを生成し、英語の説明だけで動くコードを書き出しますGROWTH — Rorkの月間アクセスは743,000件を超え、成長率は85%に達していますPRICE — 料金は無料から始められ、有料プランは月$25から利用できますTREND — Gartnerは2026年末までに新規アプリの75%がローコード/ノーコードで作られると予測しています
記事一覧/開発ツール
開発ツール/2026-07-08中級

Reanimatedで作る、滑るインジケーター付きセグメントコントロール

標準のセグメントコントロールがAndroidで浮いて見える問題を、Reanimatedの自作コンポーネントで解決します。幅を実測して指標を滑らせる完全なコードと、UIスレッド駆動・アクセシビリティ・RTL対応までを実装メモとしてまとめました。

Rork494Expo135Reanimated10アニメーション9UI実装

プレミアム記事

壁紙アプリの設定画面で「ライト / ダーク / 自動」を切り替えるUIを作り直したときのことです。個人開発では細部にまで手が届く反面、こうした小さな部品の粗さがそのまま体験の質に出ます。最初は @react-native-segmented-control をそのまま置いていたのですが、Androidで見ると角丸も色も浮いて見えて、切り替えの瞬間もパッと切り替わるだけ。指を離した後に「今どこを選んだのか」が視線で追えず、どうにも所在なさげでした。

選択中の位置がスッと滑って移動する。その一拍の動きがあるだけで、画面はぐっと手に馴染みます。私自身、この違いを実機で確かめてから、設定画面の印象がまるで変わりました。「滑るインジケーター」を Reanimated で自作した実装を、幅の実測から公開前の詰めまで順を追って共有いたします。

なぜ標準コンポーネントで止まらなかったか

SegmentedControl は iOS ではネイティブに寄せてくれますが、Android では見た目の一貫性を取りづらく、アニメーションの余地もほとんどありません。両OSで同じ表情にしたい、指標の動きを自分で調整したい——この2点が、自作へ踏み出した理由でした。

判断の目安を、簡単な比較で整理しておきます。

観点標準SegmentedControlReanimated自作
両OSの見た目統一難しい自由
インジケーターの動きほぼ固定調整可能
実装コスト低い
アクセシビリティOS任せ自分で担保

標準で足りるなら標準が最善です。私は、ブランドの色やモーションに合わせたい設定画面・フィルタUIのように動きが体験の一部になる場面だけ自作へ寄せることを推奨します。むやみに自作を増やすと保守が重くなるためです。

設計の核心は「幅を実測してから動かす」

つまずきやすいのはここです。セグメントのラベルは日本語・英語・言語によって幅が変わり、長い言語では短い言語の最大1.5倍ほどにもなります。均等割りを前提に 画面幅 / 個数 で位置を決めると、文字が長い言語で指標がラベルからずれます。

そこで、各セグメントの実寸を onLayout で測り、その配列を使ってインジケーターの translateXwidth を決めます。測るのは一度きり。以降の切り替えは測った値を使うだけなので、再レンダーは起きません。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
セグメント幅をonLayoutで実測し、インジケーターを滑らせる完全なコード
再レンダーを起こさずUIスレッドだけで動かす設計(体感60fps)
accessibilityRoleとRTLまで含めた、公開に耐える仕上げの勘所
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

開発ツール2026-04-24
Rork アプリで Reanimated の worklet エラーが出たときに順番に疑う 6 つのポイント
Rork 生成コードに Reanimated を組み込んだ途端に出る worklet 関連のエラーを、babel プラグインの抜け漏れから closure キャプチャまで、現場でぶつかる順に切り分けていきます。
開発ツール2026-04-04
Rork × React Native Skia 高品質グラフィックスUI — カスタムチャート・アニメーション・シェーダーエフェクト実装パターン
React Native Skiaを使ってRorkアプリに高品質なカスタムグラフィックスを実装する完全ガイド。Canvasによるカスタムチャート、グラデーション、シェーダーエフェクト、Reanimatedとの組み合わせによるインタラクティブアニメーションまで実践コード付きで解説します。
開発ツール2026-03-30
Rork × React Native Reanimated & Gesture Handler 実践ガイド — 60fps を維持するアニメーション設計と高度なジェスチャーインタラクション
Reanimated 3 と Gesture Handler で 60fps を保つ設計を、壁紙・癒し系アプリの実運用で踏んだ落とし穴とともに整理しました。runOnJS の発火遅延、useDerivedValue キャッシュ、FlashList との併用、cancelAnimation 漏れなど、公式ドキュメント外の知見を実測値付きで共有します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →