Changes Introduced in APL Version 1.1
(This is not the most recent version of the APL change log. Use the Other Versions option to see the documentation for the most recent version of the APL change log)
Alexa Presentation Language 1.1 introduces new features and capabilities for APL.
Work with APL versions
For details about how to check the APL version, see What's New in APL.
Vector graphics support
APL now supports Alexa vector graphics, a subset of the Scalable Vector Graphics standard. See these updates:
- Define a vector graphic with the Alexa Vector Graphics (AVG) Format.
- Store vector graphic definitions in the
graphicsproperty of the APL document or package. - Use the
VectorGraphiccomponent to display the graphic.
Animation support
APL now supports animation. You can animate the position, scale, rotation, or opacity of any APL component or layout. See the AnimateItem Command.
User-defined commands
You can define and name custom commands in your APL document or package. These commands can take parameters and then call the standard APL commands.
- Define a command with the user-defined command format.
- Store command definitions in the
commandsproperty of the APL document or package.
Alexa Design System for APL
Packages for layouts, styles, and viewport profiles are now grouped within the Alexa Design System for APL.
New responsive components and templates
APL 1.1 introduces several new responsive components and templates as part of the Alexa Design System for APL (previously referred to as "Alexa layouts"). When you use these in your APL documents, you do not need to create the conditional logic to handle different screen sizes and shapes yourself.
To use the new components and templates, import the alexa-layouts package into your document. Be sure to specify 1.1.0 for the version:
{
"import": [
{
"name": "alexa-layouts",
"version": "1.1.0"
}
]
}
For an overview of the components and templates, see Responsive Components and Templates.
For details about the new responsive components, see:
For details about the new responsive templates, see:
For more about building responsive APL documents, see Build Responsive APL Documents
Alexa header changes
APL 1.1 adds the following new properties for AlexaHeader:
headerBackButtonAccessibilityLabelheaderDividerthemeheaderBackButtonCommand
Note that the headerNavigationAction parameter has been removed from the 1.1.0 version of AlexaHeader. Use headerBackButtonCommand to specify the command to run when the user selects the back button.
To use this updated version, be sure to specify 1.1.0 for the version when you import the alexa-layouts package.
Alexa footer changes
APL 1.1 introduces the following new properties for AlexaFooter:
theme
Version 1.1.0 removes the deprecated footerHint property. Use the hintText property instead.
To use this updated layout, be sure to specify 1.1.0 for the version when you import the alexa-layouts package.
Other APL Updates
Commands
New commands:
New properties for Sequential command:
- catch
- finally
Document
New top-level properties on APL Document:
- commands
- graphics
- onMount
- settings
Components
All components now support the following new properties:
accessibilityLabelcheckeddisableddisplayonMounttransform
Components also now support the karaokeTarget state, which can be used to control the color of text being spoken. See Styles.
- The
heightandwidthof thePagercomponent default to 100dp if not specified. Theheightandwidthof a Pager must be either an absolute or relative dimension. You cannot useauto. Theheightandwidthof the children of aPagerare fixed at "100%". - The default for the
navigationproperty iswrap.
- Video now supports the
onTimeUpdateproperty. - You can now use the
disallowVideoproperty in the data-binding context to determine whether the device supports video.
Data-binding context
New environment properties are available in the data-binding context:
allowOpenURLanimationaplVersiondisallowVideo
The viewport object now includes the mode property.
Transformers
- The
ssmlToSpeechtransformer now accepts only valid SSML text as input. The SSML must be wrapped in<speak>tags. - A new
textToSpeechtransformer converts plain text into speech.
Both transformers work in the same way. Bind the output of the transformer to the speech property of the component. See Transformers.
Last updated: Dec 18, 2024