Read font size from Settings
I just found in the source code of Settings.System
this function:
/** @hide */
public static void getConfigurationForUser(ContentResolver cr,
Configuration outConfig, int userHandle) {
outConfig.fontScale = Settings.System.getFloatForUser(
cr, FONT_SCALE, outConfig.fontScale, userHandle);
if (outConfig.fontScale < 0) {
outConfig.fontScale = 1;
}
}
There is however the FONT_SCALE
in usage so I checked for that Configuration
class where the documentation points to getResources().getConfiguration()
. So I cound fix my code by using:
float scale = getResources().getConfiguration().fontScale;
You can set system font according to font scale.
Example: For huge font scale is 2.0 then you can set as follow.
Configuration config = new Configuration();
config.fontScale = 2.0f;
getResources().getConfiguration().setTo(config);
Add "float def" param to the end of the
public static float getFloat(ContentResolver cr, String name, float def)
Example:
scale = android.provider.Settings.System.getFloat(getActivity().getContentResolver(),
android.provider.Settings.System.FONT_SCALE, 1f);