PageRow: Implement short slide + crossfade transition for single column mode

When in single column mode, the current push/pop animation keeps the old page static and only slides the new page in from the right with a fade. This is not like the typical Android transition, where both pages move a short distance and only the entering page fades.

The Android Material transition (which Plasma Mobile also considers) works as follows:

  1. Opening a new page (forward push)

    • Old page slides left by 96 dp, no fade, its right edge extends.
    • New page slides in from the right (+96 dp to 0) and fades in (0→1) over 83 ms with a 50 ms offset, its left edge extends.
    • Duration for slides: 450 ms, fast_out_extra_slow_in curve.
  2. Exiting the current page (back pop)

    • Current page slides right by 96 dp and fades out (1→0) over 83 ms with a 35 ms offset, its left edge extends.
    • Previous page slides in from the left (-96 dp to 0) with no fade, its right edge extends.
    • Same 450 ms slide duration and easing.

For Kirigami we do not need the complexity of edge stretching or separate fade timings. A simple short slide (4 grid units) together with a crossfade gives a modern, fluid feel and is easier to maintain.

This patch changes the transition to:

  • Opening a new page (push)
    • Old page slides left by a short distance and fades out.
    • New page slides in from the right (same short distance) and fades in.
  • Exiting the current page (pop)
    • Current page slides right by the same short distance and fades out.
    • Previous page slides in from the left (short distance) and fades in.

The existing animation duration, easing, and slide distance are reused. No extra delays or edge extensions are implemented.

The result is a smoother, more responsive transition that follows modern mobile design expectations while keeping the code changes minimal.

Merge request reports

Loading