AutoPageコマンド

AutoPageコマンド

Pagerコンポーネントで表示される一連のページを自動的に進めます。AutoPageコマンドは、最後のページを指定された時間だけ表示した後に終了します。

プロパティ

AutoPageコマンドには、共通のコマンドプロパティに加えて、次の表に示すプロパティがあります。typeプロパティはAutoPageに設定します。

コマンドを実行するために値が必要なプロパティの場合、以下の表の「デフォルト」列に「必須」と表示されています。それ以外の場合はデフォルト値が表示されますが、デフォルト値がないこともあります。

プロパティ デフォルト 説明

componentId

セレクター

:source

ページ送りするPagerコンポーネントです。

count

整数

Pagerのすべてのページ

表示するページ数です。

duration

整数

0

次のページに進んだ後に待機する時間(ミリ秒単位)です。

transitionDuration

非負整数

システムのデフォルト

ページ遷移アニメーションの時間(ミリ秒単位)です。

以下は、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コマンドが再開可能になります。コマンドは、ReinflatepreservedSequencers配列で指定されたsequencerで実行されている場合に再開されます。

ターゲットコンポーネントが再インフレートされた階層内のPagerでない場合、コマンドは無視されます。

ページ遷移の実行中に再インフレートが発生した場合、再インフレートが完了すると、コマンドは保存された位置(存在する場合)または0から続行されます。

一時停止したページからAutoPageコマンドを続行するには、PagerpreserveプロパティでpageIndexを明示的に保持します。

AutoPageの例

次の例は、AutoPageコマンドを示しています。Start AutoPageボタンをクリックすると、コマンドが実行されます。プログレスバーには、ページャーのページ数、およびコマンドのdelayプロパティとdurationプロパティに基づいて、おおよその残り時間が表示されます。AutoPageが完了したら、この例ではページャーを最初のページにリセットします。この例のdelaydurationの値は、データソースで設定されています。



このページは役に立ちましたか?

最終更新日: 2025 年 11 月 25 日