Icon Button
The Alexa icon button responsive component (AlexaIconButton
) displays a vector graphic as a button. The user can select the button with touch or a controller. You specify the graphic to display, the button style, and the command to run when the user selects the button. AlexaIconButton
automatically handles different states, such as disabled, pressed, and focused.
Compatibility
AlexaIconButton
is designed to work with all standard viewport profiles in the alexa-viewport-profiles
package:
- All hub round profiles
- All hub landscape profiles
- All hub portrait profiles
- All mobile profiles
- All TV profiles
If you use AlexaIconButton
on an unsupported viewport, you might have unexpected results. For details about viewport profiles, see Viewport Profiles.
Import the alexa-layouts package
To use AlexaIconButton
, import the alexa-layouts package.
The latest version of the alexa-layouts
package is 1.7.0. AlexaIconButton
was introduced in version 1.1.0.
AlexaIconButton Parameters
All parameters except type
are optional.
Name | Type | Default | Description | Widget support | Version added |
---|---|---|---|---|---|
|
String |
icon |
A string describing the button. Voice over reads this string when the user selects the button. |
Not supported |
1.1.0 |
|
String |
Unique identifier for the |
Not supported |
1.2.0 | |
|
|
Size (height and width) of the icon button. |
Not supported |
1.1.0 | |
|
String |
|
One of |
Not supported |
1.1.0 |
|
Array |
— |
Array of entity data to bind to this component. |
Not supported |
1.2.0 |
|
— |
The command to trigger when the user selects the button. |
Not supported |
1.1.0 | |
|
String |
|
Set the dark or light color theme. The selected theme controls the colors used for the component. |
Not supported |
1.1.0 |
|
String |
— |
Always set to |
Not supported |
1.1.0 |
|
String |
— |
The AVG path drawing data. This is the same value you would include in the |
Not supported |
1.1.0 |
Accessibility
The AlexaIconButton
component is a touchable component configured as a button. On a device with the VoiceView screen reader enabled, the user can tap the component to select it, then double-tap on the screen to activate the button.
The screen reader reads the accessibilityLabel
string to describe the AlexaButton
component. The accessibilityLabel
defaults to the string "icon." Set this property to a value that explains what the button does.
For details about accessibility and APL, see APL Accessibility Guide.
AlexaIconButton example
This example displays a "home" icon button with the default image
style.
{
"type": "AlexaIconButton",
"buttonSize": "72dp",
"vectorSource": "M21.343,8.661l-7.895-7.105c-0.823-0.741-2.073-0.741-2.896,0L2.657,8.661C2.238,9.039,2,9.564,2,10.113V20c0,1.105,0.943,2,2.105,2H9v-9h6v9h4.895C21.057,22,22,21.105,22,20v-9.887C22,9.564,21.762,9.039,21.343,8.661z",
"primaryAction": {
"type": "SetValue",
"componentId": "textToUpdate",
"property": "text",
"value": "${exampleData.imageStyleText}"
}
}
The following full document example uses data array inflation to display four icon buttons with different combinations of the buttonStyle
and contained
properties.
Related topics
Last updated: Nov 28, 2023