【发布时间】:2020-09-30 15:04:09
【问题描述】:
我在我的一个使用 FrameLayout 的屏幕上使用 ViewCompat.animate() 制作了一个动画,它在测试手机上看起来不错。 但当然,一旦在测试平板电脑(Nexus 7 2013)上运行,动画就不一样了。
所以我正在寻找一种方法来获得相同的显示翻译 Y,在不同的屏幕尺寸上不使用不同的尺寸资源文件。 当然有一种方法可以在运行时计算并自行排序。
我试过了:float px = -182 * (getResources().getDisplayMetrics().densityDpi / 160f); 但是两个屏幕上的视图经过的距离是不一样的。
看到这个帖子但没有提供解决方案:android animation in different screen sizes
有人有想法吗?
干杯
【问题讨论】:
-
你能记录下“getResources().getDisplayMetrics().densityDpi”的值吗?并在两台设备上进行检查。在 Android Developer 网站上,它仍然说: densityDpi [屏幕密度表示为每英寸点数。可以是 DENSITY_LOW、DENSITY_MEDIUM 或 DENSITY_HIGH。]。我不确定它是否会重新运行 DENSITY_XHIGH、DENSITY_XXHIGH。
-
它给出了它适合的类别的值,例如360或480