How much do you want them to look different? For instance, in the TypeAttack game, I use a different typeface for each level. I found some typefaces from fontspace.com (remember to check the usage conditions; you may need to license some, others are free). I create an array with the names of the font files that I added to my project
Dim fontList(4) As String
fontList = Array As String("kgcountingstars.ttf","typekeys.ttf","got_heroin.ttf","hotmetal.ttf")
Then when a new level starts, it gets a random typeface like this:
Dim gameFont As Typeface
gameFont = Typeface.LoadFromAssets(fontList(Rnd(0,4)))
So you could do something like that with the label for your question, then say
Dim su As Stringutils
Dim question As Label
question.Initialize("")
question.Text = "What is the capital of Peru?"
question.Typeface = gameFont
question.TextSize = 14 ' or you could make this random, say between 12 and 18
' set a random width, between 60 and 85% of the screen
question.Width = Rnd(60%x,85%x)
question.Top = 5dip
' centre the box
question.Left = (100%x-question.Width)/2
' now adjust the height to fit the font
question.Height = su.MeasureMultilineTextHeight( question, question.Text)
That will give you a box, with a different font each time, centred in the screen, and the right height to fit all the text.
You could do similar things to change the buttons, or change the position more randomly.
Add a selection of bitmaps for different backgrounds, and choose one of those randomly, too. Alter the colours in the same sort of way.
Yes, loading a layout saves you having to initialise things, and so can make design faster. But you'd still be limited to, say, ten layouts. If you create it in code like this, with different type faces, colours, changes in position, and so on, then there could be far more combinations, and you don't have to spend ages creating lots of different layouts.