Sub ScaleView(v As View, rate As Double)
Dim delta, scaleRate As Double
delta = (100%x + 100%y) / ((320 + 430) * 100dip / 100) - 1
scaleRate = 1 + rate * delta
v.SetLayout(v.Left * scaleRate, v.Top * scaleRate, v.Width * scaleRate, v.Height * scaleRate)
If v Is Label Then 'this will catch ALL views with text (EditText, Button, ...)
Dim lbl As Label = v
lbl.TextSize = lbl.TextSize * scaleRate
End If
End Sub