Мое приложение для Android отлично смотрится с разрешением 480x800 пикселей, но оно ломается на экране LDPI с разрешением 240x400 пикселей. Я знаю, что могу получить коэффициент масштабирования экрана в активности, используя getResources().getDisplayMetrics().density
, который даст точное значение float
в зависимости от разрешения экрана.Как использовать коэффициент масштабирования DPI (float) для установки полей (int)
В моем приложении, я использовал RelativeLayout
и ImageView
сек в нем, и установить границы изображений с использованием setMargins()
, так как этот метод использует пиксели в int
для его сверху, слева, снизу и справа значений, как я могу установить эти значения с использованием коэффициента DPI, который я получил? (который является поплавком). У нас есть Math.floor()
, но я позиционирую изображения в очень определенных местах с использованием пикселей, а коэффициент DPI, возвращаемый методом, имеет очень специфическое значение в десятичных разрядах, которые нельзя игнорировать, поэтому отбрасывание до int
не работает для меня.
Update
Кроме того, я использую lp.setMargins(100,200,0,0);
, чтобы установить поля, какие изменения я буду делать в нем использовать DPI фактор I полученый из устройства?
P.S. Я знаю, что это скорее математическая проблема, а не программирование, но я бедна математикой, извините.