<!--
{
  "documentType" : "article",
  "framework" : "TVML",
  "identifier" : "/documentation/TVML/showcasetemplate",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "showcaseTemplate"
}
-->

# showcaseTemplate

Displays images the user can navigate between.

## Overview

Use the `showcaseTemplate` element to display a row of images with descriptions associated
with each image; for example, displaying a set of screenshots to promote a movie.
Users can scroll between images. When an image comes into focus, the size of the
image is increased to be slightly larger than the other images. The following figure
shows the basic layout for a showcaseTemplate page. The default theme for a showcase
template is `dark`.

![Layout diagram showing a banner area in the upper-right corner of the screen, and three lockup areas below.](images/com.apple.TVML/showcasetemplate-1.png)

### Main Elements

The following listing shows the main elements of the `showcaseTemplate` element in
TVML format.

```xml
<showcaseTemplate>
    <background>…</background>
    <banner>
        <title>…</title>
        <row>
            <button>…</button>
        </row>
    </banner>
    <carousel>
        <section>
            <lockup>…</lockup>
        </section>
    </carousel>
</showcaseTemplate>
```

#### Element Descriptions

- [background](/documentation/TVML/background): Background visual and audio.
- [banner](/documentation/TVML/banner): Elements that describe what the page shows and provides buttons
  for user options.
- [button](/documentation/TVML/button): A button providing user options.
- [carousel](/documentation/TVML/carousel): Element containing images and text displayed in a row that
  the user navigates by swiping left or right on the remote.
- [lockup](/documentation/TVML/lockup): An element containing several elements, such as an image and
  a title, so that it can be treated as a single element.
- [row](/documentation/TVML/row): A group of elements displayed in a horizontal row.
- [section](/documentation/TVML/section): A group of `lockup` elements.
- [title](/documentation/TVML/title): Text that describes its containing element.

### Example

The following listing shows the TVML for a `showcaseTemplate` example.

```xml
<document>
    <showcaseTemplate mode="showcase">
        <background>
            <img src="path to images on your server/Car_Movie_1920x1080.png" />
        </background>
        <banner>
            <title>Scenes</title>
            <row>
                <button>
                    <text>Slideshow</text>
                </button>
                <button>
                    <text>Screensaver</text>
                </button>
            </row>
        </banner>
        <carousel>
            <section>
                <lockup>
                    <img src="path to images on your server/Car_Movie_453x255_C.png" width="453" height="255" />
                    <title>Scene 1</title>
                </lockup>
                <lockup>
                    <img src="path to images on your server/Car_Movie_500x600.png" width="500" height="600" />
                    <title>Scene 2</title>
                </lockup>
                <lockup>
                    <img src="path to images on your server/Car_Movie_308x308_B.png" width="308" height="308" />
                    <title>Scene 3</title>
                </lockup>
                <lockup>
                    <img src="path to images on your server/Car_Movie_800x600.png" width="800" height="600" />
                    <title>Scene 4</title>
                </lockup>
            </section>
        </carousel>
    </showcaseTemplate>
</document>
```

The following figure shows the output for the above example:

![Screenshot showing a title and user options at the top of the screen, and three images evenly spaced in the middle of the screen.](images/com.apple.TVML/showcasetemplate-2.png)

## Topics

### Valid TVML Attributes

[autoHighlight](/documentation/TVML/autohighlight)

Specifies that the element should initially be in focus.

[binding](/documentation/TVML/binding)

Associates information in a data item with an element.

[layoutDirection](/documentation/TVML/layoutdirection)

Specifies the direction in which text is displayed.

[mode](/documentation/TVML/mode)

Specifies how an image is displayed.

[prototype](/documentation/TVML/prototype)

Associates a data item type with an element.

[theme](/documentation/TVML/theme)

Sets the color scheme for an element.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)