Logo
Layout

Page Manager

Swipe or navigate between full UI pages

Overview

Page Manager arranges content pages and transitions between them using swipes or explicit navigation. It's a gesture-based version of the Tab Manager component.

Preview

Usage

Add Page Manager and populate its Pages list.

Assign the container and optional indicator.

Choose horizontal or vertical swipe direction.


Tips

  • Adjust swipe distance and velocity thresholds, elastic resistance, spacing, and the transition curve.
  • Handle Nested Scrolling helps coordinate swipes with scrollable content inside a page.

Public API

Use PageManager in the Evo.UI namespace.

Properties

NameTypeDescription
CurrentPageIndexintActive page index.
CurrentPagePageActive page, or null.
IsTransitioningboolWhether a page animation is running.
HandleNestedScrollingboolCoordinates drag input with nested scrolling.

Fields

NameTypeDescription
pagesList<Page>Page definitions.
disableInvisiblePagesboolDisables pages outside the active view.

Methods

NameParametersDescription
OpenPage()int index, bool animate = trueOpens a page by index, with optional animation.
OpenPage()int indexOpens a page by index with animation.
OpenNextPage()NoneOpens the next valid page.
OpenPreviousPage()NoneOpens the previous valid page.
PositionPages()NoneUpdates page layout.
RefreshIndicator()NoneUpdates the current-page indicator.
BeginPagesEdit()NoneBegins a batch of page-list changes.
EndPagesEdit()NoneFinishes the batch and refreshes.

Events

NameTypeDescription
onPageChangedUnityEvent<int>Invoked with the current page index.

Example

PageManagerExample.cs
using UnityEngine;
using Evo.UI;

public class PageManagerExample : MonoBehaviour
{
    [SerializeField] private PageManager target;

    private void Start()
    {
        // Configure pages in the Inspector; start on the first without a transition.
        target.OpenPage(0, animate: false);
        target.onPageChanged.AddListener(index => Debug.Log($"Page {index}"));
    }

    // Connect navigation buttons to these methods.
    public void NextPage() => target.OpenNextPage();
    public void PreviousPage() => target.OpenPreviousPage();
}

On this page