My wife came back from the phone store with a new Samsung A5 last week (with Marshmallow) whose font size had been set to Huge and whose Style had been set to Gothic Bold by them because she complained about being unable to read the new phone contacts list without her glasses.
So it was a huge surprise to me that when I installed my perfect 4.41 rated app, which has had thousands of downloads, it looked like complete rubbish with giant text spilling out all over the place.
I partially solved the size problem with the Accessiblity (sic) library which provides the useful GetUserFontScale factor which enables me to rescale label text sizes, but the problem is that I cannot over-ride the Font Style using :-
This may be because I do not understand what 'DEFAULT' means in this context so would appreciate enlightenment from someone who knows better. Is it possible to get the name and other properties of the device default font ?
I got 'android.graphics.Typeface@d8c81ed8' when I did 'Log(lblGeography.Typeface)'. Is this a clue ?
The effect is obvious if you change the font to 'Rosemary'.
The next line DOES work, it changes the font to Monospace :-
However the Monospace font makes my app look badly old fashioned.
I think the way forward for me unless someone has a better idea is to load my own font into each view in my app, which I may find painful. My question then is 'Which one ?'
My other question is more general. I have a lot of users in Russia who never complain but I now wonder if their DEFAULT font style is indeed Russian and they are having to set their devices to the Latin alphabet ?. And this may explain why I have had some strange reviews from Indonesia?
Regards Del +++
So it was a huge surprise to me that when I installed my perfect 4.41 rated app, which has had thousands of downloads, it looked like complete rubbish with giant text spilling out all over the place.
I partially solved the size problem with the Accessiblity (sic) library which provides the useful GetUserFontScale factor which enables me to rescale label text sizes, but the problem is that I cannot over-ride the Font Style using :-
B4X:
Label1.Typeface = Typeface.CreateNew (Typeface.DEFAULT, Typeface.STYLE_NORMAL)
This may be because I do not understand what 'DEFAULT' means in this context so would appreciate enlightenment from someone who knows better. Is it possible to get the name and other properties of the device default font ?
I got 'android.graphics.Typeface@d8c81ed8' when I did 'Log(lblGeography.Typeface)'. Is this a clue ?
The effect is obvious if you change the font to 'Rosemary'.
The next line DOES work, it changes the font to Monospace :-
B4X:
Label1.Typeface = Typeface.CreateNew (Typeface.MONOSPACE, Typeface.STYLE_NORMAL)
However the Monospace font makes my app look badly old fashioned.
I think the way forward for me unless someone has a better idea is to load my own font into each view in my app, which I may find painful. My question then is 'Which one ?'
My other question is more general. I have a lot of users in Russia who never complain but I now wonder if their DEFAULT font style is indeed Russian and they are having to set their devices to the Latin alphabet ?. And this may explain why I have had some strange reviews from Indonesia?
Regards Del +++