Я использую .setTextSize()
для изменения размера текста в зависимости от разрешения экрана. Проблема в том, что когда пользователь меняет размер шрифта в настройках на >normal
, мой интерфейс выглядит плохо.
в этом случае используются единицы измерения
sp
, но можно ли изменить его с помощью кода наdp
? На это не повлияет изменение размера шрифта, верно?Я знаю, что могу использовать
float f = getResources().getConfiguration().fontScale;
, чтобы получить размер системного шрифта, а затем использоватьif-else
до.setTextSize()
в зависимости от разрешения экрана и размера шрифта, но я также нашел этот фрагмент кода
Configuration mConfiguration = new Configuration();
mConfiguration.fontScale = 1;
getResources().getConfiguration().setTo(mConfiguration);
что должно заставить мое приложение игнорировать системный размер шрифта, но у меня это не работает. Это не только не работает, но и приводит к сбою моего приложения каждый раз, когда я запускаю Alert Dialog
. Итак, есть ли способ заставить мое приложение игнорировать размер системного шрифта?