Fast Animated TabControl Transitions For Delphi XE5 Firemonkey On Android And IOS

Delphi XE5 Firemonkey Fast TabControlAnimated transitions between tab items with the TTabControl from Delphi XE5 Firemonkey can be slow if you have a lot of controls on your tab items. There is an extension of the TTabControl component which can help with this. Basically the idea is that it creates a screenshot/cache/buffer of the contents of your tab item and hides the tab item. The bitmap is then used with the transition animation instead of all of the live controls. Once the transition is complete the bitmap goes away and all of the controls become live again. It even has support for TWebBrowser (which is tricky because of the way it is handled on Android and IOS). The original code was written by Paul Spencer Thornton but it has been updated for this use and placed on Google Code for free.

Head over and check out the extended tabcontrol unit (the view raw file link is on the right and then you can save it).

Have Delphi Firemonkey questions? Ask and get answers on StackOverflow.

Fast Animated TabControl Transitions For Delphi XE5 Firemonkey On Android And IOS by Delphi XE5 XE6 XE7 XE8 10 Seattle Berlin Firemonkey, Delphi Android, Delphi IOS is licensed under a Creative Commons Attribution 4.0 International License.

2 Responses to Fast Animated TabControl Transitions For Delphi XE5 Firemonkey On Android And IOS

  1. John Muller says:


    as a Newbie to XE5: how can I install this unit as a component? Or have I to create it at runtime?

    Thanks in advance…

  2. loki says:


    If someone is interested i just created a new TTabcontrol who enhance
    the swiping so it behaves more like the android app drawer. What I mean
    by that if you longtap and slowly slide your finger left or right the
    screen contents moves left/right with your finger as opposed to what I
    have now where it only moves a whole screen at a time and not slowly
    underneath your finger.

    you can see the code source here


    and the demo is here :


    *any remark will be welcome*

    i continue also my logic: create a suite of firemonkey control who are
    very fast to draw, independant of OpenGL and that don’t work with the
    style (i find the style in firemonkey very inefficient and horribly
    complicated to maintain), so i create this tabcontrol as a descendant of
    Tcontrol and not as a descendant of TStyleControl.

    i think it much (much) more simple to create the title (ie: button) of
    the tab myself with basic component like trectangle + ttext than
    updating the so complicated Stylebook for each plateform (ioe, android,
    windows, macos, etc)

    if you compare the unit of my Tabcontrol (ALFmxTabControl.pas) with the
    unit of the delphi TabControl (Fmx.TabControl.pas) then you will see
    that i use 3.5x less line of code (1018 vs 3550), and less line of code
    = always better

    please vote for this feature request here :

Leave a Reply

Show Buttons
Hide Buttons
Read previous post:
Delphi XE5 Firemonkey FireDAC Blobs
Read And Write A Blob Field Using FireDAC With Firemonkey On Android And IOS

If you're using the FireDAC components that comes with Delphi XE5 Firemonkey and you want to save a bitmap or...