Ah, your solution is even worse than mine.

Mine only doesn't work - yours causes compile-time and run-time errors.
First of all, apparently
must be present in Sub Globals - otherwise the compiler protests that it is not defined.
Second, the program causes a run-time error, which I'm too lazy to type (and one can't cut-and-paste from the emulator) but which basically means that the file mainpanel.bal was not found. Why do you use
MainScrollView.Panel.LoadLayout ("MainPanel")
? I have only one Layout (well, two variants of it - for portrait and for landscape orientation of the device) and it is called "ASS". It contains everything - the main activity, the panel, the scroll view and the buttons. There is no separate layout for the panel.
However, now that I know what the main problem is (I must not initialize something that is present in the layout), there were few enough variants of the rest of the code, so by commenting and swapping lines around I think I got it to work. The final variant looks like this:
Sub Globals
Dim MainPanel As Panel
Dim MainScrollView As ScrollView
End Sub
Sub Activity_Create (FirstTime As Boolean)
Activity.LoadLayout ("ASS")
MainPanel.RemoveView
MainScrollView.Panel.AddView (MainPanel, 0, 0, MainScrollView.Width, MainScrollView.Panel.Height)
End Sub
It seems to work - meaning that the buttons are visible and clickable and the view can be scrolled, if I define it to be small enough. At least in the emulator. Haven't tried it on a real device yet.
BTW, what do you mean by
Be shure that you have set the ScrollView.Panel.Height correctly in the Designer, otherwise you must set in the code.
? What are the "correct" values for them? I set them large enough so that no scroll bar appears on the emulator. I presume, one will appear on smaller screens?
And what do you mean by "set in the code"? Just assign them values? Or is there a way to say "set them equal to the physical size of the device the app is currently running on"?