Palm Programmer's Laboratory

トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

Palm OS User Interface Guidelines/7-2

← 1 節に戻る ↑7 章トップへ 3 節に進む →


7-2 スクロールバー

 
 スクロールバーは、他の UI 要素の表示をスクロールします(図 7.4 参照)。スクロールバーは複数行のテキストフィールドやテーブル、リスト、およびフォームにアタッチできます。

図 7.4 スクロールバー

表 7.1 スクロールバーの詳細

指標
7
高さ スクロール対象の要素と同じ高さ
上端 スクロール対象の上端に合わせる
左端 153
境界線 なし

 

システムが定める挙動

 スクロールバーは、4種類の値によってその挙動が決まります。

  • 最小値。通常はゼロです。
  • 最大値。この値は実行時まで決まらないことがあります。この値は対象要素を末尾までスクロールするのに要する行数で、次の数式によって算出されます。
     number of lines of text - page size + overlap
    ここで 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 節に戻る ↑7 章トップへ 3 節に進む →