I want to specify my own text size in my application, but I am having a problem doing this.
When I change the font size in the device settings, the font size of my
The easiest to do so is simply to use something like the following:
android:textSize="32sp"
If you'd like to know more about the textSize
property, you can check the Android developer documentation.
simple way to prevent the whole app from getting effected by system font size is to updateConfiguration using a base activity.
//in base activity add this code.
public void adjustFontScale( Configuration configuration) {
configuration.fontScale = (float) 1.0;
DisplayMetrics metrics = getResources().getDisplayMetrics();
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
wm.getDefaultDisplay().getMetrics(metrics);
metrics.scaledDensity = configuration.fontScale * metrics.density;
getBaseContext().getResources().updateConfiguration(configuration, metrics);
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
adjustFontScale( getResources().getConfiguration());
}