У меня есть TextView
, в котором я программно устанавливаю размер текста в 'SP'.
tv.setTextSize(spToPx(5, context));
public static int spToPx(float sp, Context context) {
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, sp, context.getResources().getDisplayMetrics());
}
Первый снимок экрана показывает, как он должен выглядеть (и как он выглядит на моих Xiaomi Redmi и Doogee HT7
Второй снимок экрана показывает, как это выглядит на других устройствах с более высоким или тем же dpi.
Обычно, если яправильно понимать, текст с одинаковым размером в 'dp' или 'sp' должен выглядеть одинаково на других устройствах (с тем же размером экрана), потому что он автоматически преобразует 'dp' или 'sp' в необходимое количество пикселей в зависимости от dpi.
После прочтения Руководства разработчика по Android об устройствах с различной плотностью я ожидал, что текст будет меньше, если я использую тот же размер текста на устройствах с более высоким разрешением, но теперь у меня есть ситуация, которой я действительно непонимать.