Animated 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.
Hi,
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…
Hello,
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
(svn) https://svn.code.sf.net/p/alcinoe/code/
and the demo is here :
(svn) https://svn.code.sf.net/p/alcinoe/code/demos/ALFmxControls
*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 :
https://quality.embarcadero.com/browse/RSP-15576