ChannelBanner is a SceneGraph Group component that slides into view whenever the active channel changes. It displays the channel number, name, category, and logo alongside a live-status label and a network connectivity indicator. After a fixed display period it fades out automatically.
Display timing
Timing constants are defined inAppConstants:
| Constant | Value | Description |
|---|---|---|
BANNER_MS | 3000 ms | How long the banner remains fully visible before fading |
BANNER_FADE_MS | 300 ms | Approximate fade-out duration (6 ticks × 50 ms timer) |
hideTimer with duration="3" (seconds) triggers the fade sequence. A 50 ms repeating fadeTimer drives opacity from 1.0 to 0.0 in steps of approximately 0.1667 per tick.
Interface fields
Associative array describing the channel to display. Setting this field resets and shows the banner immediately. Triggers
onChannelDataChanged.| Key | Type | Description |
|---|---|---|
number | integer | Channel number shown in lblNumber |
name | string | Channel name shown in lblName |
group | string | Category/group label shown in lblCategory |
logo | string | URL of the channel logo image (chLogo Poster) |
Controls the network status label (
lblNetwork). true renders "RED: OK" in green (0x9DFFB2FF); false renders "RED: OFF" in red (0xFF9D9DFF). Triggers onNetworkOnlineChanged.Custom status string displayed in
lblStatus. Defaults to "En vivo" when empty. Triggers onStatusTextChanged.What information it shows
The banner card contains the following visual elements:Channel number
Large bold label (
lblNumber) showing the numeric channel ID.Channel logo
Poster node (
chLogo) rendered at 136 × 136 px design size. Hidden when channelData.logo is empty.Channel name
Medium bold label (
lblName) with up to two lines of text.Status
Small label (
lblStatus) for playback state, e.g. "En vivo".Category
Small label (
lblCategory) showing the channel group.Network indicator
Small label (
lblNetwork) in the top-right corner showing RED: OK or RED: OFF.XML component definition
Triggering the banner
SetchannelData to display the banner for the new channel. The component immediately sets opacity = 1.0, updates all labels and the logo, then starts hideTimer. When hideTimer fires, fadeTimer begins decrementing opacity until the banner is invisible.
The banner uses a responsive layout computed by
ApplyResponsiveLayout via GTV_GetLayoutContext. All design coordinates (e.g. 760 px wide card) are scaled uniformly to the actual display resolution.