The Scale module is a quite old module and many things have changed since its publication and especially B4XPages.
I added a warning on top of the thread to not use it anymore.
In your example, you are not using the scaling correctly.
You mix layouts from the Designer with layout in code.
In the MainPage layout you have AutoScaleAll.
In the lbl1 layout, no AutoScale.
Then you use this for the scaling:
Scale.SetReferenceLayout(480, 800, 1.5)
Scale.ScaleAll(Root, True)
The problem is that the MainPage layout has already been scaled in the Designer and you scale it again.
I replaced above two lines by these:
Scale.SetReferenceLayout(320, 480, 1)
Scale.ScaleAllDS(tilesPanel, False)
Your reference layout or layout variant in the Designer is 320, 480, 1 and not 480, 800, 1.5.
You should use Scale.ScaleAllDS(tilesPanel, False).
ScaleAll scales differently vertically and horizontally.
ScaleAllDS scales like the DesignerScript.
The second parameter in ScaleAllDS must be False because the ScrollView has already been scaled.
And it works almost as you expect it.
I am not sure if the equation of AutoScaleAll in the Desiger is exactly the same as the one in the Scale module.
Effectively, with B4XPages the call of ScaleAll throws an error.
I have not used the Scale module for a long time.
I do not intend to adapt it, because it would take quite some work to adapt it to B4XPages and i have never tried it with CustomViews.
I suppose that you want to fill ScrollViews with given layouts.
Can you please give some more explanations on what exactly you want to do, to find a concrete solution.
In your example, in the lbl1 layout, maybe you could put the Labels on a Panel and set AutoScaleAll, and then load them and reposition them correctly.