AutoPageコマンド
Pagerコンポーネントで表示される一連のページを自動的に進めます。AutoPageコマンドは、最後のページを指定された時間だけ表示した後に終了します。
プロパティ
AutoPageコマンドには、共通のコマンドプロパティに加えて、次の表に示すプロパティがあります。typeプロパティはAutoPageに設定します。
コマンドを実行するために値が必要なプロパティの場合、以下の表の「デフォルト」列に「必須」と表示されています。それ以外の場合はデフォルト値が表示されますが、デフォルト値がないこともあります。
| プロパティ | 型 | デフォルト | 説明 |
|---|---|---|---|
|
|
|
ページ送りする | |
|
|
整数 |
Pagerのすべてのページ |
表示するページ数です。 |
|
|
整数 |
0 |
次のページに進んだ後に待機する時間(ミリ秒単位)です。 |
|
|
非負整数 |
システムのデフォルト |
ページ遷移アニメーションの時間(ミリ秒単位)です。 |
以下は、mySportsPagerという名前のPagerに対してオートページングを開始するコマンドの例です。
{
"type": "AutoPage",
"componentId": "mySportsPager",
"delay": 500
"duration": 1000,
"transitionDuration": 500
}
このコマンドは以下を実行します。
- 500ミリ秒間一時停止します(
delayプロパティ)。 - 400ミリ秒かけて次のページに遷移します(
transitionDurationプロパティ)。 - 1,000ミリ秒間一時停止します(
durationプロパティ)。 - 最後の一時停止が完了するまで、ページの遷移と一時停止を繰り返します。
たとえば、mySportsPagerに3ページあり、1ページ目を最初に表示するとします。AutoPageは次のように動作します。
- 最初のページを500ミリ秒間表示します(delay)。
- 2ページ目に遷移し、1000ミリ秒間一時停止します。
- 3ページ目に遷移し、1000ミリ秒間一時停止します。
この時点でコマンドが完了します。したがって、Pagerは、別のコマンドまたはイベントによって変更が発生するまで3ページ目を表示し続けます。
countが正の数でない場合、AutoPageコマンドを実行しても何も起きません。
AutoPageコマンドは停止すると、以下を実行します。
AutoPageコマンドシーケンスが50%以上完了している場合は、表示をターゲットページに進めます。- 50%以上完了していない場合は、表示を前のページに戻します。
onPageChangedコマンドは、ページが変更された場合、新しいページで1回だけ実行されます。
AutoPageコマンドは、高速モードでは無視されます。
componentId
コマンドの対象となるPagerコンポーネントを識別するセレクターです。指定しない場合、デフォルトで:sourceになります。:sourceセレクターは、AutoPageコマンドを発行したコンポーネントをターゲットにします。
count
表示するページ数です。指定しない場合、デフォルトで残りのページ数となります。折り返しはサポートされていません。countは[0, pager.children.length - pager.currentIndex - 1]の範囲内に収まるよう内部的に切り詰められます。
duration
次のページに進んだ後に待機する時間です。ページ間のアニメーション遷移時間はdurationに含まれないため、コマンド全体の実行時間が増加します。
durationは次のページに遷移した後に適用されるため、ページャーの最初のページには適用されません。ページングの開始を遅らせるには、標準コマンドのdelayプロパティを使用します。
transitionDuration
ページ遷移アニメーションの時間(ミリ秒単位)です。transitionDurationプロパティを設定しない場合、ランタイムによって決定されるデフォルトの時間が使用されます。transitionDurationは、handlePageMoveプロパティで定義されたカスタムのページ遷移にも適用されます。
再インフレート時の処理方針
Reinflateコマンドが実行されると、Alexaがドキュメントを再インフレートした後、AutoPageコマンドが再開可能になります。コマンドは、ReinflateのpreservedSequencers配列で指定されたsequencerで実行されている場合に再開されます。
ターゲットコンポーネントが再インフレートされた階層内のPagerでない場合、コマンドは無視されます。
ページ遷移の実行中に再インフレートが発生した場合、再インフレートが完了すると、コマンドは保存された位置(存在する場合)または0から続行されます。
一時停止したページからAutoPageコマンドを続行するには、PagerのpreserveプロパティでpageIndexを明示的に保持します。
AutoPageの例
次の例は、AutoPageコマンドを示しています。Start AutoPageボタンをクリックすると、コマンドが実行されます。プログレスバーには、ページャーのページ数、およびコマンドのdelayプロパティとdurationプロパティに基づいて、おおよその残り時間が表示されます。AutoPageが完了したら、この例ではページャーを最初のページにリセットします。この例のdelayとdurationの値は、データソースで設定されています。
関連トピック
最終更新日: 2025 年 11 月 25 日