2025 年 3 月 27 日より、AOSP のビルドとコントリビューションには aosp-main
ではなく android-latest-release
を使用することをおすすめします。詳細については、AOSP の変更をご覧ください。
ロータリー コントローラ
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
ロータリー コントローラは、ヘッドユニットを制御するために使用される、自動車のセンター コンソールにあるノブとその周囲のボタンです。ロータリー コントローラは以下の機能をサポートしている必要があります。
- 4 方向に移動する(上下左右)
- 時計回り / 反時計回りに回転する
- 中央ボタン
- 戻るボタン
ロータリー コントローラは斜めの移動をサポートしている場合もあります。回転は、デテントの機構を備え(カチカチと鳴るような)、無制限に回転できる必要があります。中央にボタンを備えているか、ロータリーノブ自体がボタンとして機能する必要があります。通常は、ロータリーノブの周囲にその他のボタンがあります。たとえば、ホーム、メディア、電話、ナビゲーション(地図)などです。
ロータリー コントローラは次のように機能します。
- 移動は、ユーザー インターフェースの大まかなナビゲーションに使用されます。画面は
FocusAreas
と呼ばれる複数の長方形の領域に分割されます。移動機能により、これらの FocusAreas
間を移動します。
- 回転は細かいナビゲーションに使用します。回転を使用すると、
FocusArea
内のフォーカス可能なビューを、Tab キーと同じ順序で移動します。
- 中央ボタンは、フォーカスされているビュー上で、たとえばボタンを押すなどの操作を行います。
- 一般的に、戻るボタンは Android の通常の機能と同じよう機能します。ただし後述の直接的な操作を除きます。
移動履歴により、右へ移動してから左へ移動すると元の位置に戻ります。これは OEM によって設定できます。
OEM によって設定されている場合、画面の外に移動させると、戻る操作など、システム全体のアクションがトリガーされます。
最新の操作がロータリー コントローラではなくタップによって行われた場合、移動、回転、中央のボタンの押下により、ビューがフォーカスされてロータリー モードが開始されますが、この操作は通常、それ以外の効果を持ちません。それ以降のアクションは上記のように機能し、フォーカスを移動するか、アクションを実行します。
中央ボタンが押されたときに SeekBar
がフォーカスされると、直接操作(DM)モードが開始します。このモードでは、回転するとナビゲーションは行われず、SeekBar
が操作されます。戻るボタンは、DM モードを終了するために使用されます。DM モードをサポートするその他のビューでは、回転だけでなく移動を使用してビューを操作できる場合があります。たとえば、マップビューでは回転を使用してズームし、移動により地図をパン(スクロール)できます。
詳しくは、下記を参照してください。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-07-27 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-07-27 UTC。"],[],[],null,["# Rotary controller\n\nA *rotary controller* is a knob and surrounding buttons in the center console of\nan automobile used to control the head unit. A rotary controller must support these functions:\n\n- Nudge in four directions (up, down, left, and right)\n- Rotate clockwise and counterclockwise\n- Center button\n- Back button\n\nA rotary controller might support diagonal nudges. Rotation must be limitless with\ndetents (clicks). There can either be a button in the center or the rotary knob itself\ncan act as a button. There are typically additional buttons surrounding the rotary knob,\nfor example, Home, Media, Phone, and navigation (map).\n\nA rotary controller works like this:\n\n- Nudging is used for *coarse* navigation in the user interface. The screen is partitioned into several rectangular regions, referred to as `FocusAreas`. Nudging navigates between these `FocusAreas`.\n- Rotation is used for *fine* navigation. Rotation navigates through the focusable views in a `FocusArea` in the same order as the Tab key.\n- Center button takes action on the focused view, for example to press a button.\n- Back button typically functions as usual in Android, an exception being [direct manipulation](#dm), described below.\n\nNudge history ensures that nudging right and then left takes you back where you were.\nThis can be configured by the OEM.\n\nWhen configured by the OEM, attempting to nudge off the edge of the screen triggers a\nsystem-wide action, for example Back.\n\nIf the most recent interaction took place through touch rather than the rotary controller,\nany nudge, rotate, or press of the Center button starts rotary mode by focusing a view, but\nis typically ignored. Subsequent actions function as described above, moving focus or\ntaking action.\n\nIf a `SeekBar` is focused when the Center button is pressed,\n*direct manipulation (DM)* mode starts. In this mode, rotation manipulates the\n`SeekBar` rather than navigating. The Back button is used to exit DM mode.\nOther views that support DM mode can use nudging as well as rotation to manipulate the view.\nFor example, a map view can use rotation to zoom and nudging to pan (scroll) the map.\n\nTo learn more, see:\n\n- [Develop apps](/docs/automotive/hmi/rotary_controller/app_developers)\n- [Develop apps\n without the Car UI library](/docs/automotive/hmi/rotary_controller/app_developers_no_carui)\n- [Integration guide for OEMs](/docs/automotive/hmi/rotary_controller/oem_integration)"]]