[[← 1 節に戻る|Palm OS User Interface Guidelines/7-1]] [[↑7 章トップへ|Palm OS User Interface Guidelines/7]] [[3 節に進む →|Palm OS User Interface Guidelines/7-3]] ---- !!!7-2 スクロールバー    スクロールバーは、他の UI 要素の表示をスクロールします(図 7.4 参照)。スクロールバーは複数行のテキストフィールドやテーブル、リスト、およびフォームにアタッチできます。 !図 7.4 スクロールバー {{ref_image figure_7.4.gif}} !表 7.1 スクロールバーの詳細 ,指標,値 ,幅,7 ,高さ,スクロール対象の要素と同じ高さ ,上端,スクロール対象の上端に合わせる ,左端,153 ,境界線,なし   !!システムが定める挙動  スクロールバーは、4種類の値によってその挙動が決まります。 *最小値。通常はゼロです。 *最大値。この値は実行時まで決まらないことがあります。この値は対象要素を末尾までスクロールするのに要する行数で、次の数式によって算出されます。{{br}} ''number of lines of text - page size + overlap''{{br}}ここで ''number of lines of text'' はオブジェクト全体を表示するのに必要な行の総数、''page size'' は一度に画面表示可能な行数、そして ''overlap'' はあるページの末尾が次のページの先頭に重ねて表示される行数を指します。 *初期値。通常は最小値と同じです。 *ページジャンプ値。すなわち、スクロールをした時に増減する値の大きさです。この値は画面に表示できる行数より1少なくする必要があります。つまり、フィールドが10行のテキストを表示できる場合、ページジャンプ値は9であるべきです。  Palm OS は、表示する情報が1画面に収まる量を越えるまではスクロールバーを表示しません。また、表 7.2 に示す振舞いを保証します。 !表 7.2 スクロールバーのデフォルトの挙動 ,操作,挙動 ,スクロールカーをドラッグ,ドラッグされた方向へスクロールカーが移動 ,矢印をタップ,スクロールカーが1行分上か下へ移動 ,スクロールカーの上下にあるグレーの部分をタップ,1ページ分上か下へスクロールカーが移動 ,テキストフィールドの内側からフィールド境界を越えてドラッグ,スクロールカーがテキストに合わせて移動  システムはスクロールバーがアタッチされた UI 要素のスクロール処理は行ないません。それはアプリケーションが行なう必要がある処理です。   !!ルック&フィール  スクロールバーの実装では、以下のガイドラインに従って下さい。 !垂直方向のスクロールバーのみ  Palm OS は垂直方向のスクロールのみをサポートします。水平方向のスクロールはサポートされません。 !即時モードのスクロールをサポートする  スクロールモードには2種類があります。即時モードと遅延モードです。即時モードのスクロールでは、ユーザーのペンドラッグに合わせてスクロール処理が行なわれます。これはフィールドがどのくらい移動しているかがわかるため好まれています。遅延モードのスクロールではユーザーがペンを離すまで待機してからスクロール結果の表示を行ないます。 !スクロールハードボタンをサポートする  なんらかの UI 要素をスクロールする場合は、ハンドヘルド自体についているスクロールハードボタンの使用をサポートするべきです。これらはスクロールカーの上下にあるグレーの領域をタップした場合と同じ効果を持つべきです。つまり、ページ単位での上下移動になります。   !!ルールを破る場合  Palm OS は水平方向のスクロールをサポートしないため、それが必要となるようなユーザーインターフェースは避けるべきです。ほとんどの場合、ユーザーは水平方向へのスクロールを予期しません。ただし、ウェブブラウザでは大きな画像や大きなテーブルのあるウェブページをサポートするために水平方向のスクロールをサポートしなければならない場合があります。   ---- [[← 1 節に戻る|Palm OS User Interface Guidelines/7-1]] [[↑7 章トップへ|Palm OS User Interface Guidelines/7]] [[3 節に進む →|Palm OS User Interface Guidelines/7-3]]