Progress Bar Radial
Alexa Progress Bar Radialレスポンシブ対応コンポーネント(AlexaProgressBarRadial)は、進行中のアクティビティを示す円形のプログレスバーを表示します。さまざまなスタイルから選択して、さまざまなタイプのアクティビティの進捗状況を伝えることができます。このコンポーネントは、Echo Spotなどの小型の円形デバイスで使用します。
互換性
AlexaProgressBarRadialは、alexa-viewport-profilesパッケージの次の標準Viewportプロファイルで動作するように設計されています。
- すべての円形デバイスプロファイル
サポートされていないViewportでAlexaProgressBarRadialを使用すると、予期しない結果になることがあります。Viewportプロファイルの詳細については、Viewportプロファイルを参照してください。
alexa-layoutsパッケージをインポートする
AlexaProgressBarRadialを使用するには、alexa-layoutsパッケージをインポートします。
alexa-layoutsパッケージの最新バージョンは1.7.0です。AlexaProgressBarRadialはバージョン1.2.0で導入されました。
AlexaProgressBarRadialのパラメーター
type以外のパラメーターはすべてオプションです。
| 名前 | 型 | デフォルト | 説明 | ウィジェットのサポート | 追加されたバージョン |
|---|---|---|---|---|---|
|
|
文字列 |
"[Total]のうち[Progress]経過しました"(例:[2分]のうち[20秒]経過しました) |
プログレスバーを説明する文字列です。ユーザーがこのコンポーネントを選択すると、ボイスオーバーでこの文字列が読み上げられます。 |
サポートされません |
1.2.0 |
|
|
数値 |
0 |
|
サポートされません |
1.2.0 |
|
|
配列 |
— |
このコンポーネントにバインドするentityデータの配列です。 |
サポートされません |
1.2.0 |
|
|
文字列 |
|
表示するプログレスバーの種類を決定します。 |
サポートされません |
1.2.0 |
|
|
|
サポートされません |
1.2.0 | ||
|
|
数値 |
0 |
|
サポートされません |
1.2.0 |
|
|
文字列 |
|
ダークまたはライトのカラーテーマを設定します。選択されたテーマによってコンポーネントの色が制御されます。 |
サポートされません |
1.2.0 |
|
|
数値 |
0 |
プログレスバーが表す合計時間の値(ミリ秒)です。たとえば、 |
サポートされません |
1.2.0 |
|
|
文字列 |
— |
常に |
サポートされません |
1.2.0 |
円形Viewport上にプログレスバーを配置する
小型の円形デバイスにAlexaProgressBarRadialを表示するには、whenプロパティを使用します。
"when": "${@viewportProfile == @hubRoundSmall}"
コンポーネントは、長方形のデバイス上での表示用にはデザインされていません。長方形のデバイスには、代わりにAlexaProgressBarを使用します。
Viewportにほかのコンポーネントを追加するには、ContainerにAlexaProgressBarRadialを配置して、positionをabsoluteに設定します。その後、AlexaProgressBarRadialの後にほかのコンポーネントを追加します。これにより、ほかのコンポーネントがプログレスバーコンポーネントの上にオーバーラップして表示されます。コンポーネントは、円形のプログレスバーの中に表示されます。
以下は、プログレスバーとTextコンポーネントを表示する条件付きのContainerの例です。Textコンポーネントは、データソースからのコンテンツを表示します。
{
"when": "${@viewportProfile == @hubRoundSmall}",
"type": "Container",
"height": "100%",
"width": "100%",
"items": [
{
"type": "AlexaProgressBarRadial",
"id": "roundHubBar",
"progressBarType": "indeterminate",
"position": "absolute"
},
{
"type": "Text",
"height": "100%",
"textAlignVertical": "center",
"textAlign": "center",
"text": "${progressBarRadialExample.textToShow}"
}
]
}
determinateプログレスバーを進める
determinateプログレスバーでは、progressValueプロパティとbufferValueプロパティを更新してバーを色で塗りつぶします。値を変更するには、SetValueコマンドを使用します。
次の例では、idが「myProgressBar」であるAlexaProgressBarRadialのprogressValueプロパティを40,000に設定しています。
{
"type": "SetValue",
"componentId": "myProgressBar",
"property": "progressValue",
"value": 40000
}
時間に基づいて自動で進むプログレスバーを作成するには、SetValueを実行するティックイベントハンドラーを定義します。APLは、時間の経過に応じてティックイベントを生成します。各ティックで実行するコマンドの配列は、handleTickプロパティを使用して定義します。
次の例では、プログレスバーが完了するまでに毎秒約1回progressValueが更新されます。
{
"type": "AlexaProgressBarRadial",
"progressValue": "0",
"totalValue": "100000",
"progressFillColor": "blue",
"position": "absolute",
"handleTick": [
{
"when": "${progressValue < totalValue}",
"minimumDelay": 1000,
"commands": [
{
"type": "SetValue",
"property": "progressValue",
"value": "${progressValue + 1000}"
}
]
}
]
}
handleTickを使用するには、APL 1.4以降が必要です。これよりも古いバージョンのAPLを実行しているデバイスには、別のエクスペリエンスを提供してください。handleTickの詳細については、ティックイベントハンドラーを参照してください。
AlexaProgressBarRadialの例
以下は、小型の円形デバイス上にAlexaProgressBarRadialを表示し、その他すべてのViewportにAlexaProgressBarを表示するドキュメントの完全な例です。この例では、データソースを使って円形、長方形のレイアウト両方に同じ値を表示しています。別のViewportに切り替えると、同じデータがAlexaProgressBarに表示されます。
関連トピック
最終更新日: 2025 年 11 月 11 日