Преобразовать пиксель из одной плотности в другую - PullRequest
0 голосов
/ 04 июля 2019

Давайте предположим, что у меня есть вид, стоящий на 650 из координаты X и 450 по координате Y на экране Android.Текущий экран Android имеет значение плотности XHDPI .Как мне преобразовать эти значения координат, чтобы они стояли точно в одном месте, скажем, MDPI и XXHDPI ?

Я пытался получить плотностьпроисхождение и перенести его в конечное место и иметь расчет как -> finalSourceDensity / originalDensity и после этого расчета я попыталсяумножить полученные координаты x и y на результат деления чисел, упомянутых выше, но представление все еще имеет много полей, чем необходимо.

Так, например, это код, который у меня есть сейчас.

 val densityName = client?.density ?: "mdpi"
        val densityFloat = DeviceUtils.getDeviceDensityValue(densityName)

        val dm = DisplayMetrics()
        windowManager?.defaultDisplay?.getMetrics(dm)

        val screenAdjust = dm.densityDpi / densityFloat


        val finalX = client?.charX ?: 0f * screenAdjust
        val finalY = client?.charY ?: 0f * screenAdjust

Есть подсказка?

...