Проблемы масштабирования с помощью библиотеки Scalable DP / SP в приложении Android - PullRequest
0 голосов
/ 03 августа 2020

Я работаю над тем, чтобы мое приложение правильно отображалось на разных устройствах, и для этого мне рекомендовали использовать Scalable DP и Scalable SP . Затем я использую файл sizes. xml, который содержит разные ключи, которые я использую в приложении, и эти ключи содержат ссылку на значения библиотек, например:

<dimen name="large_digital_clock_size">@dimen/_25ssp</dimen>
<dimen name="large_digital_clock_date_size">@dimen/_15ssp</dimen>

Вот как я установил его в коде

clock.setTextSize(r.getDimension(R.dimen.large_digital_clock_size));
date.setTextSize(r.getDimension(R.dimen.large_digital_clock_date_size));

Но в моих случаях это не так хорошо масштабируется. Взгляните на эти два экрана, которые относятся к двум разным устройствам. и использует приведенные выше примеры xml и кода

введите описание изображения здесь

Какие у меня есть варианты?

1 Ответ

0 голосов
/ 05 августа 2020

Оказывается, проблема заключалась в том, как я применяю размер текста к текстовому окну. Эта строка (и, конечно, для date)

clock.setTextSize(r.getDimension(R.dimen.large_digital_clock_size));

Вместо этого должна быть такая

clock.setTextSize(TypedValue.COMPLEX_UNIT_PX , (int)r.getDimension(R.dimen.large_digital_clock_size));

Это решило проблему для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...