анимация xml элементов в java коде в дпс (android студия) - PullRequest
0 голосов
/ 27 марта 2020

Я использую android студию для разработки игры. Я использовал модуль 'dp' в моем файле 'xml' для определения своих элементов. В коде java я хочу переместить эти элементы с помощью функции animate (), например image_button_red1.animate (). XBy (первое значение) .yBy (второе значение); эта функция принимает только значение с плавающей запятой, но анимация различна для каждого устройства. Я хочу использовать модуль 'dp' для решения этой проблемы. Есть ли функция, которая принимает другой блок, например, 'dp'?

1 Ответ

0 голосов
/ 02 апреля 2020

Я нашел ответ. Я разработал макет в пикселях, и когда я использовал, например, animate (). Xby (10.0f), перевод был правильным на каждом устройстве. Уравнение между пикселем и dp: px = dp * (dpi / 160); Затем я использовал dp вместо px и использовал функцию Resources.getSystem (). GetDisplayMetrics (). Density, чтобы получить плотность каждого экрана, на котором выполняется код. Поэтому я использовал переменную с плавающей запятой вместо 10.0f, которую вычислили по указанному уравнению. Размер моего объекта был 360 dp, а уравнение изменилось на px = 2.25 * dpi. И в моем случае я использовал такую ​​переменную: float House_size = 2.25f * 14.44f * Resources.getSystem (). GetDisplayMetrics (). Density; затем я использовал animate (). xby (House_size); И теперь результат работает правильно на каждом устройстве.

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