PanelContainer

@IviExperimental(reasons = [])
interface PanelContainer<CD, SD>

A container that visualizes Panels.

The purpose of a panel container is to display the container data of type CD received through ttiviPanelContainerData. CD can be a single panel, a collection of panels or any other panel-related type.

A panel container contains zero or more sub-containers. A sub-container is a ViewGroup responsible for displaying the sub-container data of type SD. SD can be a single panel, a collection of panels or any other panel-related type. It is derived from the ttiviPanelContainerData.

The sub-container layout can be set through ttiviSubContainerLayoutId. If no value is set, the implementation provides a default layout.

Each sub-container has one or more panel fragment containers. A panel fragment container defines the location and area where an IviFragment created by a Panel is attached. A panel fragment container should be a FragmentContainerView, to prevent a WrongFragmentContainerViolation.

In practice a panel container will implement this interface and extend a ViewGroup. The properties of this class will be set through view binding, and thus are all nullable. This does not mean all properties are optional, a panel container requires ttiviPanelContainerContext to manage panels.

Properties

Link copied to clipboard

The entry point for a container to communicate with the system UI host.

Link copied to clipboard

The panels to present in the container view.

Link copied to clipboard

A provider of the animation used for the creation of panel sub-containers.

Link copied to clipboard

A provider of the animation used for the removal of panel sub-containers.

Link copied to clipboard

An optional layout reference for panel sub-containers. This layout ID will be used for every sub-container.

Inheritors

Link copied to clipboard
Link copied to clipboard