Progress Bar
Alexa Progress Barレスポンシブ対応コンポーネント(AlexaProgressBar)は、進行中のアクティビティを示すプログレスバーを表示します。さまざまなスタイルから選択して、さまざまなタイプのアクティビティの進捗状況を伝えることができます。
互換性
AlexaProgressBarは、次のViewportプロファイルで動作するように設計されています。
alexa-viewport-profilesパッケージの以下のウィジェットViewportプロファイル:- ウィジェット、中(
@hubWidgetMedium)
- ウィジェット、中(
alexa-viewport-profilesパッケージのすべての標準Viewportプロファイル:- すべての円形デバイスプロファイル
- すべての横長デバイスプロファイル
- すべての縦長デバイスプロファイル
- すべてのモバイルプロファイル
- すべてのテレビプロファイル
Viewportプロファイルの詳細については、Viewportプロファイルを参照してください。
ウィジェットでの相違点
ウィジェット内で使用する場合、AlexaProgressBarでは、右から左への向き(layoutDirection)はサポートされません。
alexa-layoutsパッケージをインポートする
AlexaProgressBarを使用するには、alexa-layoutsパッケージをインポートします。
alexa-layoutsパッケージの最新バージョンは1.7.0です。AlexaProgressBarはバージョン1.2.0で導入されました。
AlexaProgressBarのパラメーター
以下の表は、AlexaProgressBarで設定できるパラメーターを示しています。特に記載のない限り、標準Viewportプロファイルはすべてのパラメーターをサポートします。「ウィジェットのサポート」列は、各パラメーターをサポートするウィジェットViewportプロファイルを示しています。Viewportプロファイルの詳細については、Viewportプロファイルを参照してください。
type以外のパラメーターはすべてオプションです。
| 名前 | 型 | デフォルト | 説明 | ウィジェットのサポート | 追加されたバージョン |
|---|---|---|---|---|---|
|
|
文字列 |
{Total}のうち{Progress}経過しました。 |
プログレスバーを説明する文字列です。ユーザーがこのコンポーネントを選択すると、ボイスオーバーでこの文字列が読み上げられます。 |
中 |
1.2.0 |
|
|
数値 |
0 |
|
中 |
1.2.0 |
|
|
配列 |
— |
このコンポーネントにバインドするentityデータの配列です。 |
中 |
1.2.0 |
|
|
ブール値 |
|
|
中 |
1.2.0 |
|
|
文字列 |
|
プログレスバーのレイアウト方向を指定します。このプロパティは、 |
サポートされません |
1.4.0 |
|
|
文字列 |
|
表示するプログレスバーの種類を決定します。 |
中 |
1.2.0 |
|
|
|
中 |
1.2.0 | ||
|
|
数値 |
0 |
|
中 |
1.2.0 |
|
|
文字列 |
|
ダークまたはライトのカラーテーマを設定します。選択されたテーマによってコンポーネントの色が制御されます。 |
中 |
1.2.0 |
|
|
数値 |
0 |
プログレスバーが表す合計時間の値(ミリ秒)です。たとえば、 |
中 |
1.2.0 |
|
|
文字列 |
— |
常に |
中 |
1.2.0 |
プログレスバーのサイズ
プログレスバーの長さを制御するには、基本コンポーネントのwidthプロパティを使用します。AlexaProgressBarコンポーネント自体、または親Containerのwidthを設定します。バーの高さや太さはViewportのサイズによって決まります。この値は変更できません。
たとえば、以下の図は、widthの値が異なる3つのdeterminateプログレスバーを示しています。バーはそれぞれ2分(120,000ミリ秒)を表しており、1分(60,000ミリ秒)が経過したことを示しています。

{
"type": "Container",
"width": "100%",
"height": "100%",
"justifyContent": "center",
"paddingLeft": "@marginHorizontal",
"paddingRight": "@marginHorizontal",
"items": [
{
"type": "AlexaProgressBar",
"progressValue": "60000",
"bufferValue": 70000,
"totalValue": 120000,
"width": "50%"
},
{
"type": "AlexaProgressBar",
"progressValue": "60000",
"bufferValue": 70000,
"totalValue": 120000,
"spacing": "@spacingLarge",
"width": "70%"
},
{
"type": "AlexaProgressBar",
"progressValue": "60000",
"bufferValue": 70000,
"totalValue": 120000,
"spacing": "@spacingLarge"
}
]
}
以下の図は、widthの値が異なる3つのindeterminateプログレスバーを示しています。このアニメーションを表示するには、JSONのサンプルをオーサリングツールにコピーして貼り付けます。

{
"type": "Container",
"width": "100%",
"height": "100%",
"justifyContent": "center",
"paddingLeft": "@marginHorizontal",
"paddingRight": "@marginHorizontal",
"items": [
{
"type": "AlexaProgressBar",
"progressBarType": "indeterminate",
"width": "50%"
},
{
"type": "AlexaProgressBar",
"progressBarType": "indeterminate",
"spacing": "@spacingLarge",
"width": "70%"
},
{
"type": "AlexaProgressBar",
"progressBarType": "indeterminate",
"spacing": "@spacingLarge"
}
]
}
determinateプログレスバーを進める
determinateプログレスバーでは、progressValueプロパティとbufferValueプロパティを更新してバーを色で塗りつぶします。値を変更するには、SetValueコマンドを使用します。
次の例では、idが「myProgressBar」であるAlexaProgressBarのprogressValueプロパティを40,000に設定しています。
{
"type": "SetValue",
"componentId": "myProgressBar",
"property": "progressValue",
"value": 40000
}
時間に基づいて自動で進むプログレスバーを作成するには、SetValueを実行するティックイベントハンドラーを定義します。APLは、時間の経過に応じてティックイベントを生成します。各ティックで実行するコマンドの配列は、handleTickプロパティを使用して定義します。
次の例では、プログレスバーが完了するまでに毎秒約1回progressValueが更新されます。アニメーションを再開するには、ページを更新します。
handleTickを使用するには、APL 1.4以降が必要です。これよりも古いバージョンのAPLを実行しているデバイスには、別のエクスペリエンスを提供してください。handleTickの詳細については、ティックイベントハンドラーを参照してください。
AlexaProgressBarの例
以下は、5つの異なるプログレスバーの例です。アニメーションを再開するには、ページを更新します。
以下は、タイマーの進行状況を示すプログレスバーの例です。ボタンをクリックすると、タイマーが開始されます。タイマーは、データバインディングコンテキストのelapsedTimeプロパティを使用して進行状況を追跡し、ティックハンドラーを使用して終了から3秒後にタイマーをリセットします。
以下は、プログレスバーをさまざまなスタイルで表示するウィジェットの例です。アニメーションを再開するには、ページを更新します。
関連トピック
最終更新日: 2025 年 11 月 11 日