Erel, thank you very much for everything you have done.
I just needed such a code, you gave in this thread.
After I used the code, I realized that the code does not work for spinners.
Under debugger, I saw that, the code for panel is executed when the the view is a spinner, and it did nothing since the spinner as a panel does not contain a view.
After I changed the order of the IF statements, the code worked perfectly.
For Each v As View In p
If v Is Spinner Then
Dim sx As Spinner = v
sx.TextSize = sx.TextSize / access.GetUserFontScale
else If v Is Panel Then
ResetUserFontScale(v)
Else If v Is Label Then
Dim lbl As Label=v
lbl.TextSize = lbl.TextSize / access.GetUserFontScale
Else If v Is ListView Then
Dim xx4 As ListView=v
xx4.SingleLineLayout.Label.TextSize = xx4.SingleLineLayout.Label.TextSize / access.GetUserFontScale
xx4.twolinesLayout.Label.TextSize = xx4.twolinesLayout.Label.TextSize / access.GetUserFontScale
End If
Next
I am not sure if putting the Is panel at the end would be a better solution.