APL Sequence



APL Sequence

Sequenceとは、データセットを使用して、複数のコンポーネントをインフレートし、長いスクロールリストに繰り返し表示するものです。Sequenceを使用してAlexaスキルのユーザーエクスペリエンスを高める方法については、Alexaデザインガイド–Sequenceを参照してください。

Sequenceは、Containerに似ています。Sequenceの方が、ScrollView内で長いリストを適切に表示できますが、レイアウトモデルの柔軟性は低くなります。

Sequenceを使うと、画面上で序数および照応に応じた項目が選択できます。項目選択のためのAPLサポートを参照してください。

プロパティ

Sequenceコンポーネントには、標準のコンポーネントプロパティに加えて、次のプロパティがあります。高さと幅のプロパティはそれぞれデフォルトで100dpに設定されています。

プロパティ 型/値 必須 スタイル設定 説明
data データ: プロパティ このContainerにバインドするデータです。
scrollDirection horizontalまたはvertical このSequenceのスクロール方向です。デフォルトはverticalです。
firstItem コンポーネントまたはレイアウトの配列 他のどの項目よりも先に含めるコンポーネントです。
item/items コンポーネントまたはレイアウトの配列 データセットを配置するのに使用するコンポーネントです。
lastItem コンポーネントまたはレイアウトの配列 他のすべての項目の後に含めるコンポーネントです。
numbered boolean trueを指定した場合、子に番号が順番に割り当てられます。デフォルトはfalseです。

Sequenceの子は、連続した列として配置されます(左から右または上から下)。スクロール方向の子コンポーネントのディメンションはauto設定であり、デフォルトでは子のコンテンツを囲むように設定されます。

表示エラーを最小限に抑えるために、垂直Sequenceの高さと水平Sequenceの幅は、指定されていない場合は100dpに初期化されます。

高さの値を指定した垂直方向のSequence内でItemテンプレートを使用する場合、高さはパーセント値で設定せず、絶対値のディメンションで設定してください。幅の値を指定した水平方向のSequence内でItemテンプレートを使用する場合、幅はパーセント値で設定せず、絶対値のディメンションで設定してください。

data

任意のデータ配列です。データ配列がバインドされている場合、そのSequenceはデータ配列のインフレートメソッドを使用します。

scrollDirection

verticalまたはhorizontalを指定します。デフォルトはverticalです。

numbered

trueに設定した場合、Sequence内の各項目にデータバインディングの順序数が設定されます。この順序数は「1」から始まり、子のnumberingプロパティが「skip」または「reset」に設定されている場合を除き、1ずつ増加します。firstItemlastItemに順序数は付けられないことに注意してください。デフォルトはfalseです。

Sequenceの子

Sequenceの子は、連続した列として配置されます(左から右または上から下)。スクロール方向の子のディメンションは自動設定であり、デフォルトでは子のコンテンツを囲むように設定されます。

子のプロパティ

Sequenceの子では、次のプロパティを追加で使用できます。

プロパティ 型/値 必須 スタイル設定 動的 説明
numbering normal、skip、reset 次の子の順序数の付け方を指定します。デフォルトはnormalです。
spacing 絶対ディメンション レイアウト内でこのコンポーネントと前のコンポーネントの間に追加するスペースです。

numbering

親でnumberedが設定されている場合に、順序数の値を制御します。このプロパティは、Sequenceの現在の子ではなく、次の子について順序数の値の指定方法を制御するものです。

  • normal: 次の子の順序数は、現在の順序数に1を足したものになります。
  • skip: 次の子の順序数は、現在の順序数と同じになります。
  • reset: 次の子の順序数は1になります。

spacing

Sequence内でこのコンポーネントと前のコンポーネントの間に追加するスペースの大きさです。Sequenceの最初の項目では無視されます。この値は絶対ディメンションで表現する必要があります。