div-container

Контейнер. Содержит в себе другие элементы и отвечает за их расположение. Позволяет располагать элементы по вертикали, горизонтали и с наложением в определенном порядке, имитируя третье измерение.

Параметры

Параметры Описание
type

string

Обязательный параметр.

Значение всегда должно равняться container.

accessibility

object

Настройки доступности.

Значение имеет тип div-accessibility.

Доступные платформы: Android, iOS, веб.

action

object

Одно действие при нажатии на элемент. Не используется, если задан параметр actions.

Значение имеет тип div-action.

action_animation

object

Анимация нажатия. В вебе поддерживаются только значения fade, scale, native, no_animation и set.

Значение имеет тип div-animation.

Значение по умолчанию: {"name": "fade", "start_value": 1, "end_value": 0.6, "duration": 100 }.

Доступные платформы: Android, iOS, веб.

actions

array

Несколько действий при нажатии на элемент.

alignment_horizontal

string

Горизонтальное выравнивание элемента внутри родительского.

Возможные значения: left, center, right, start, end.

alignment_vertical

string

Вертикальное выравнивание элемента внутри родительского.

Возможные значения: top, center, bottom, baseline.

alpha

number

Прозрачность всего элемента: 0 — полностью прозрачный, 1 — непрозрачный.

Ограничение для значения x: x >= 0.0 && x <= 1.0.

Значение по умолчанию: 1.0.

animators

array

Объявление аниматоров, с помощью которых можно изменять значение переменных во времени.

Функциональность находится в разработке.

Список возможных значений:

  • div-color-animator
  • div-number-animator
  • aspect

    object

    Фиксированное соотношение размеров контейнера. Высота элемента вычисляется исходя из ширины, значение параметра height игнорируется.

    В вебе для использования этого параметра требуется поддержка свойства CSS aspect-ratio.

    Значение имеет тип div-aspect.

    background

    array

    Фон элемента. Может содержать несколько слоев.

    Список возможных значений:

  • div-linear-gradient
  • div-radial-gradient
  • div-image-background
  • div-solid-background
  • div-nine-patch-background
  • border

    object

    Рамка элемента.

    Значение имеет тип div-border.

    clip_to_bounds

    bool_int

    Включает ограничение дочерних элементов границами родителя.

    Значение по умолчанию: true.

    Доступные платформы: Android, iOS, веб.

    column_span

    int

    Объединяет ячейки в столбце элемента grid.

    Ограничение для значения x: x >= 0.

    Доступные платформы: Android, iOS, веб.

    content_alignment_horizontal

    string

    Горизонтальное выравнивание элементов. Для дочерних элементов может быть переопределено через свойство alignment_horizontal.

    Возможные значения: left, center, right, start, end, space-between, space-around, space-evenly.

    Значение по умолчанию: start.

    content_alignment_vertical

    string

    Вертикальное выравнивание элементов. Значение baseline означает выравнивание элементов по базовой линии (для текста и других элементов, у которых есть базовая линия). Остальные элементы в этом случае будут выровнены по верхнему краю. Для дочерних элементов может быть переопределено через свойство alignment_vertical.

    Возможные значения: top, center, bottom, baseline, space-between, space-around, space-evenly.

    Значение по умолчанию: top.

    disappear_actions

    array

    Действия при исчезновении элемента с экрана.

    Доступные платформы: Android, iOS, веб.

    doubletap_actions

    array

    Действие при двойном нажатии на элемент.

    Доступные платформы: Android, iOS, веб.

    extensions

    array

    Расширения для дополнительной обработки элемента. Список расширений см. в разделе Кастомизация.

    Доступные платформы: Android, iOS, веб.

    focus

    object

    Параметры при фокусировке на элементе или потере фокуса.

    Значение имеет тип div-focus.

    height

    object

    Высота элемента. Для Android: если в этом или в дочернем элементе есть текст, укажите высоту в sp, чтобы элемент масштабировался вместе с текстом. Подробнее о единицах измерения размера в разделе Верстка внутри карточки.

    Значение имеет тип div-size.

    Значение по умолчанию: {"type": "wrap_content"}.

    Список возможных значений:

  • div-fixed-size
  • div-match-parent-size
  • div-wrap-content-size
  • id

    string

    Идентификатор элемента. На iOS используется в качестве accessibilityIdentifier.

    item_builder

    object

    Задает элементы коллекции динамически при помощи data и prototypes.

    Значение имеет тип div-collection-item-builder.

    Доступные платформы: Android, iOS, веб.

    items

    array

    Вложенные элементы.

    Список возможных значений:

  • div-image
  • div-gif-image
  • div-text
  • div-separator
  • div-container
  • div-grid
  • div-gallery
  • div-pager
  • div-tabs
  • div-state
  • div-custom
  • div-indicator
  • div-slider
  • div-input
  • div-select
  • div-video
  • layout_mode

    string

    Способ размещения элементов. Значение wrap означает перенос элементов на следующую строку, если они не поместились на предыдущей. Если установлено значения wrap:

  • для каждого элемента со значением размера match_parent вдоль главной оси будет выделена отдельная строка;
  • элементы со значением match_parent вдоль побочной оси будут проигнорированы.
  • Возможные значения: no_wrap, wrap.

    Значение по умолчанию: no_wrap.

    layout_provider

    object

    Предоставляет данные о реальном размере элемента.

    Значение имеет тип div-layout-provider.

    Доступные платформы: Android, iOS.

    line_separator

    object

    Разделитель между элементами вдоль поперечной оси. Не используется, если параметр layout_mode имеет значение no_wrap. В вебе поддерживаются только новые браузеры (требуется поддержка свойства gap для flex-блоков).

    Значение имеет тип separator.

    Доступные платформы: Android, iOS, веб.

    longtap_actions

    array

    Действие при долгом нажатии на элемент. Не работает на устройствах без сенсорного экрана.

    Доступные платформы: Android, iOS, веб.

    margins

    object

    Внешние отступы от рамки элемента.

    Значение имеет тип div-edge-insets.

    orientation

    string

    Расположение элементов. Значение overlap накладывает элементы друг на друга в порядке перечисления. Ниже всего — нулевой элемент массива.

    Возможные значения: vertical, horizontal, overlap.

    Значение по умолчанию: vertical.

    paddings

    object

    Внутренние отступы от рамки элемента.

    Значение имеет тип div-edge-insets.

    reuse_id

    string

    Id для структуры div-объекта. Используется для более оптимального переиспользования блоков. См. переиспользование блоков

    Доступные платформы: Android, iOS.

    row_span

    int

    Объединяет ячейки в строке элемента grid.

    Ограничение для значения x: x >= 0.

    Доступные платформы: Android, iOS, веб.

    selected_actions

    array

    Список действий, которые будут выполнены при выборе элемента в пейджере.

    Доступные платформы: Android, iOS, веб.

    separator

    object

    Разделитель между элементами вдоль основной оси. Не используется, если параметр orientation имеет значение overlap. В вебе поддерживаются только новые браузеры (требуется поддержка свойства gap для flex-блоков).

    Значение имеет тип separator.

    Доступные платформы: Android, iOS, веб.

    tooltips

    array

    Привязанные к элементу всплывающие подсказки. Подсказка может быть показана по div-action://show_tooltip?id=, скрыта по div-action://hide_tooltip?id=, где id — id подсказки.

    Доступные платформы: Android, iOS, веб.

    transform

    object

    Применяет к элементу переданное преобразование. Тот контент, который не поместится в исходную область просмотра, будет обрезан.

    Значение имеет тип div-transform.

    Доступные платформы: Android, iOS, веб.

    transition_change

    object

    Анимация изменения. Воспроизводится при изменении положения или размера элемента в новой верстке.

    Значение имеет тип div-change-transition.

    Доступные платформы: Android, iOS, веб.

    Список возможных значений:

  • div-change-set-transition
  • div-change-bounds-transition
  • transition_in

    object

    Анимация появления. Воспроизводится при появлении элемента с новым id. Подробнее о концепции переходов в разделе Анимация перехода.

    Значение имеет тип div-appearance-transition.

    Доступные платформы: Android, iOS, веб.

    Список возможных значений:

  • div-appearance-set-transition
  • div-fade-transition
  • div-scale-transition
  • div-slide-transition
  • transition_out

    object

    Анимация исчезания. Воспроизводится при исчезании элемента в новой верстке.

    Значение имеет тип div-appearance-transition.

    Доступные платформы: Android, iOS, веб.

    Список возможных значений:

  • div-appearance-set-transition
  • div-fade-transition
  • div-scale-transition
  • div-slide-transition
  • transition_triggers

    array

    Триггеры запуска анимации. Значение по умолчанию: [state_change, visibility_change].

    Массив должен быть непустым.

    Доступные платформы: Android, iOS, веб.

    variable_triggers

    array

    Триггеры изменения переменных внутри элемента.

    Доступные платформы: iOS.

    variables

    array

    Объявление переменных, которые могут использоваться внутри элемента. Переменные, объявленные в данном массиве могут использоваться только внутри самого элемента и его дочерних элементов.

    Доступные платформы: iOS.

    Список возможных значений:

  • string_variable
  • number_variable
  • integer_variable
  • boolean_variable
  • color_variable
  • url_variable
  • dict_variable
  • array_variable
  • visibility

    string

    Видимость элемента.

    Возможные значения: visible, invisible, gone.

    Значение по умолчанию: visible.

    visibility_action

    object

    Трекинг видимости одного элемента. Не используется, если задан параметр visibility_actions.

    Значение имеет тип div-visibility-action.

    Доступные платформы: Android, iOS, веб.

    visibility_actions

    array

    Действия при появлении элемента на экране.

    Доступные платформы: Android, iOS, веб.

    width

    object

    Ширина элемента.

    Значение имеет тип div-size.

    Значение по умолчанию: {"type": "match_parent"}.

    Список возможных значений:

  • div-fixed-size
  • div-match-parent-size
  • div-wrap-content-size
  • separator

    Параметры Описание
    style

    object

    Обязательный параметр.

    Стиль разделителя.

    Значение имеет тип div-drawable.

    Доступные платформы: Android, iOS, веб.

    Список возможных значений:

  • div-shape-drawable
  • margins

    object

    Внешние отступы от рамки элемента.

    Значение имеет тип div-edge-insets.

    Доступные платформы: Android, iOS, веб.

    show_at_end

    bool_int

    Включает отображение разделителя после последнего элемента.

    Значение по умолчанию: false.

    Доступные платформы: Android, iOS, веб.

    show_at_start

    bool_int

    Включает отображение разделителя перед первым элементом.

    Значение по умолчанию: false.

    Доступные платформы: Android, iOS, веб.

    show_between

    bool_int

    Включает отображение разделителя между элементами.

    Значение по умолчанию: true.

    Доступные платформы: Android, iOS, веб.

    JSON
    {
      type*: "container",
      accessibility: {
        description: "string",
        hint: "string",
        mode: "string",
        mute_after_action: "bool_int",
        state_description: "string",
        type: "string"
      },
      action: {
        download_callbacks: {
          on_fail_actions: [ div-action, ... ],
          on_success_actions: [ div-action, ... ]
        },
        is_enabled: "bool_int",
        log_id*: "string",
        log_url: "string",
        menu_items: [
          {
            action: div-action,
            actions: [ div-action, ... ],
            text*: "string"
          },
          ...
        ],
        payload: "object",
        referer: "string",
        target: "string",
        typed: div-action-typed,
        url: "string"
      },
      action_animation: {
        duration: "int",
        end_value: "number",
        interpolator: "string",
        items: [ div-animation, ... ],
        name*: "string",
        repeat: div-count,
        start_delay: "int",
        start_value: "number"
      },
      actions: [
        {
          download_callbacks: {
            on_fail_actions: [ div-action, ... ],
            on_success_actions: [ div-action, ... ]
          },
          is_enabled: "bool_int",
          log_id*: "string",
          log_url: "string",
          menu_items: [
            {
              action: div-action,
              actions: [ div-action, ... ],
              text*: "string"
            },
            ...
          ],
          payload: "object",
          referer: "string",
          target: "string",
          typed: div-action-typed,
          url: "string"
        },
        ...
      ],
      alignment_horizontal: "string",
      alignment_vertical: "string",
      alpha: "number",
      animators: [ div-animator, ... ],
      aspect: {
        ratio*: "number"
      },
      background: [ div-background, ... ],
      border: {
        corner_radius: "int",
        corners_radius: {
          bottom-left: "int",
          bottom-right: "int",
          top-left: "int",
          top-right: "int"
        },
        has_shadow: "bool_int",
        shadow: {
          alpha: "number",
          blur: "int",
          color: "string",
          offset*: {
            x*: {
              unit: "string",
              value*: "number"
            },
            y*: {
              unit: "string",
              value*: "number"
            }
          }
        },
        stroke: {
          color*: "string",
          unit: "string",
          width: "number"
        }
      },
      clip_to_bounds: "bool_int",
      column_span: "int",
      content_alignment_horizontal: "string",
      content_alignment_vertical: "string",
      disappear_actions: [
        {
          disappear_duration: "int",
          download_callbacks: {
            on_fail_actions: [
              {
                download_callbacks: div-download-callbacks,
                is_enabled: "bool_int",
                log_id*: "string",
                log_url: "string",
                menu_items: [
                  {
                    action: div-action,
                    actions: [ div-action, ... ],
                    text*: "string"
                  },
                  ...
                ],
                payload: "object",
                referer: "string",
                target: "string",
                typed: div-action-typed,
                url: "string"
              },
              ...
            ],
            on_success_actions: [
              {
                download_callbacks: div-download-callbacks,
                is_enabled: "bool_int",
                log_id*: "string",
                log_url: "string",
                menu_items: [
                  {
                    action: div-action,
                    actions: [ div-action, ... ],
                    text*: "string"
                  },
                  ...
                ],
                payload: "object",
                referer: "string",
                target: "string",
                typed: div-action-typed,
                url: "string"
              },
              ...
            ]
          },
          is_enabled: "bool_int",
          log_id*: "string",
          log_limit: "int",
          payload: "object",
          referer: "string",
          typed: div-action-typed,
          url: "string",
          visibility_percentage: "int"
        },
        ...
      ],
      doubletap_actions: [
        {
          download_callbacks: {
            on_fail_actions: [ div-action, ... ],
            on_success_actions: [ div-action, ... ]
          },
          is_enabled: "bool_int",
          log_id*: "string",
          log_url: "string",
          menu_items: [
            {
              action: div-action,
              actions: [ div-action, ... ],
              text*: "string"
            },
            ...
          ],
          payload: "object",
          referer: "string",
          target: "string",
          typed: div-action-typed,
          url: "string"
        },
        ...
      ],
      extensions: [
        {
          id*: "string",
          params: "object"
        },
        ...
      ],
      focus: {
        background: [ div-background, ... ],
        border: {
          corner_radius: "int",
          corners_radius: {
            bottom-left: "int",
            bottom-right: "int",
            top-left: "int",
            top-right: "int"
          },
          has_shadow: "bool_int",
          shadow: {
            alpha: "number",
            blur: "int",
            color: "string",
            offset*: {
              x*: {
                unit: "string",
                value*: "number"
              },
              y*: {
                unit: "string",
                value*: "number"
              }
            }
          },
          stroke: {
            color*: "string",
            unit: "string",
            width: "number"
          }
        },
        next_focus_ids: {
          down: "string",
          forward: "string",
          left: "string",
          right: "string",
          up: "string"
        },
        on_blur: [
          {
            download_callbacks: {
              on_fail_actions: [ div-action, ... ],
              on_success_actions: [ div-action, ... ]
            },
            is_enabled: "bool_int",
            log_id*: "string",
            log_url: "string",
            menu_items: [
              {
                action: div-action,
                actions: [ div-action, ... ],
                text*: "string"
              },
              ...
            ],
            payload: "object",
            referer: "string",
            target: "string",
            typed: div-action-typed,
            url: "string"
          },
          ...
        ],
        on_focus: [
          {
            download_callbacks: {
              on_fail_actions: [ div-action, ... ],
              on_success_actions: [ div-action, ... ]
            },
            is_enabled: "bool_int",
            log_id*: "string",
            log_url: "string",
            menu_items: [
              {
                action: div-action,
                actions: [ div-action, ... ],
                text*: "string"
              },
              ...
            ],
            payload: "object",
            referer: "string",
            target: "string",
            typed: div-action-typed,
            url: "string"
          },
          ...
        ]
      },
      height: div-size,
      id: "string",
      item_builder: {
        data*: "raw_array",
        data_element_name: "string",
        prototypes*: [
          {
            div*: div,
            id: "string",
            selector: "bool_int"
          },
          ...
        ]
      },
      items: [ div, ... ],
      layout_mode: "string",
      layout_provider: {
        height_variable_name: "string",
        width_variable_name: "string"
      },
      line_separator: {
        margins: {
          bottom: "int",
          end: "int",
          left: "int",
          right: "int",
          start: "int",
          top: "int",
          unit: "string"
        },
        show_at_end: "bool_int",
        show_at_start: "bool_int",
        show_between: "bool_int",
        style*: div-drawable
      },
      longtap_actions: [
        {
          download_callbacks: {
            on_fail_actions: [ div-action, ... ],
            on_success_actions: [ div-action, ... ]
          },
          is_enabled: "bool_int",
          log_id*: "string",
          log_url: "string",
          menu_items: [
            {
              action: div-action,
              actions: [ div-action, ... ],
              text*: "string"
            },
            ...
          ],
          payload: "object",
          referer: "string",
          target: "string",
          typed: div-action-typed,
          url: "string"
        },
        ...
      ],
      margins: {
        bottom: "int",
        end: "int",
        left: "int",
        right: "int",
        start: "int",
        top: "int",
        unit: "string"
      },
      orientation: "string",
      paddings: {
        bottom: "int",
        end: "int",
        left: "int",
        right: "int",
        start: "int",
        top: "int",
        unit: "string"
      },
      reuse_id: "string",
      row_span: "int",
      selected_actions: [
        {
          download_callbacks: {
            on_fail_actions: [ div-action, ... ],
            on_success_actions: [ div-action, ... ]
          },
          is_enabled: "bool_int",
          log_id*: "string",
          log_url: "string",
          menu_items: [
            {
              action: div-action,
              actions: [ div-action, ... ],
              text*: "string"
            },
            ...
          ],
          payload: "object",
          referer: "string",
          target: "string",
          typed: div-action-typed,
          url: "string"
        },
        ...
      ],
      separator: {
        margins: {
          bottom: "int",
          end: "int",
          left: "int",
          right: "int",
          start: "int",
          top: "int",
          unit: "string"
        },
        show_at_end: "bool_int",
        show_at_start: "bool_int",
        show_between: "bool_int",
        style*: div-drawable
      },
      tooltips: [
        {
          animation_in: {
            duration: "int",
            end_value: "number",
            interpolator: "string",
            items: [ div-animation, ... ],
            name*: "string",
            repeat: div-count,
            start_delay: "int",
            start_value: "number"
          },
          animation_out: {
            duration: "int",
            end_value: "number",
            interpolator: "string",
            items: [ div-animation, ... ],
            name*: "string",
            repeat: div-count,
            start_delay: "int",
            start_value: "number"
          },
          div*: div,
          duration: "int",
          id*: "string",
          offset: {
            x*: {
              unit: "string",
              value*: "number"
            },
            y*: {
              unit: "string",
              value*: "number"
            }
          },
          position*: "string"
        },
        ...
      ],
      transform: {
        pivot_x: div-pivot,
        pivot_y: div-pivot,
        rotation: "number"
      },
      transition_change: div-change-transition,
      transition_in: div-appearance-transition,
      transition_out: div-appearance-transition,
      transition_triggers: [ "string", ... ],
      variable_triggers: [
        {
          actions*: [
            {
              download_callbacks: {
                on_fail_actions: [ div-action, ... ],
                on_success_actions: [ div-action, ... ]
              },
              is_enabled: "bool_int",
              log_id*: "string",
              log_url: "string",
              menu_items: [
                {
                  action: div-action,
                  actions: [ div-action, ... ],
                  text*: "string"
                },
                ...
              ],
              payload: "object",
              referer: "string",
              target: "string",
              typed: div-action-typed,
              url: "string"
            },
            ...
          ],
          condition*: "bool_int",
          mode: "string"
        },
        ...
      ],
      variables: [ div-variable, ... ],
      visibility: "string",
      visibility_action: {
        download_callbacks: {
          on_fail_actions: [
            {
              download_callbacks: div-download-callbacks,
              is_enabled: "bool_int",
              log_id*: "string",
              log_url: "string",
              menu_items: [
                {
                  action: div-action,
                  actions: [ div-action, ... ],
                  text*: "string"
                },
                ...
              ],
              payload: "object",
              referer: "string",
              target: "string",
              typed: div-action-typed,
              url: "string"
            },
            ...
          ],
          on_success_actions: [
            {
              download_callbacks: div-download-callbacks,
              is_enabled: "bool_int",
              log_id*: "string",
              log_url: "string",
              menu_items: [
                {
                  action: div-action,
                  actions: [ div-action, ... ],
                  text*: "string"
                },
                ...
              ],
              payload: "object",
              referer: "string",
              target: "string",
              typed: div-action-typed,
              url: "string"
            },
            ...
          ]
        },
        is_enabled: "bool_int",
        log_id*: "string",
        log_limit: "int",
        payload: "object",
        referer: "string",
        typed: div-action-typed,
        url: "string",
        visibility_duration: "int",
        visibility_percentage: "int"
      },
      visibility_actions: [
        {
          download_callbacks: {
            on_fail_actions: [
              {
                download_callbacks: div-download-callbacks,
                is_enabled: "bool_int",
                log_id*: "string",
                log_url: "string",
                menu_items: [
                  {
                    action: div-action,
                    actions: [ div-action, ... ],
                    text*: "string"
                  },
                  ...
                ],
                payload: "object",
                referer: "string",
                target: "string",
                typed: div-action-typed,
                url: "string"
              },
              ...
            ],
            on_success_actions: [
              {
                download_callbacks: div-download-callbacks,
                is_enabled: "bool_int",
                log_id*: "string",
                log_url: "string",
                menu_items: [
                  {
                    action: div-action,
                    actions: [ div-action, ... ],
                    text*: "string"
                  },
                  ...
                ],
                payload: "object",
                referer: "string",
                target: "string",
                typed: div-action-typed,
                url: "string"
              },
              ...
            ]
          },
          is_enabled: "bool_int",
          log_id*: "string",
          log_limit: "int",
          payload: "object",
          referer: "string",
          typed: div-action-typed,
          url: "string",
          visibility_duration: "int",
          visibility_percentage: "int"
        },
        ...
      ],
      width: div-size
    }
    
    Следующая