Android 具有不同屏幕大小的ViewPropertyAnimatorCompat.translationY渲染
也许答案很简单,但我对Android动画还不熟悉。我的Nexus 5设备(带有4.95英寸1080x1920显示屏)中的以下代码正常工作: 动画将图像向上平移400点(像素?),并在我想要的位置结束。Android 具有不同屏幕大小的ViewPropertyAnimatorCompat.translationY渲染,android,android-animation,Android,Android Animation,也许答案很简单,但我对Android动画还不熟悉。我的Nexus 5设备(带有4.95英寸1080x1920显示屏)中的以下代码正常工作: 动画将图像向上平移400点(像素?),并在我想要的位置结束。 问题是,当我的应用程序在模拟器Nexus(800x1280)7和Nexus 10(2560x1600)上运行时,在这两种情况下,Y轴上的移动大小在它们之间是不同的,对于手机来说也是不同的,例如,我最终在3台设备上传输了400个点,但在这三种情况下,移动是不同的。我的问题是如何使所有屏幕大小的移动相
问题是,当我的应用程序在模拟器Nexus(800x1280)7和Nexus 10(2560x1600)上运行时,在这两种情况下,Y轴上的移动大小在它们之间是不同的,对于手机来说也是不同的,例如,我最终在3台设备上传输了400个点,但在这三种情况下,移动是不同的。我的问题是如何使所有屏幕大小的移动相等(只有一个数字),从而不必在translationY(var)方法中使用变量?或者我必须使用一个变量来考虑3种可能的情况吗?。提前谢谢 您可以使用dimen文件夹设置尺寸,有四个dimen文件夹,您必须根据需要指定四个不同的值确定,我将尝试。但是我不明白为什么我不能在dp中设置这个值,我的意思是在translationY()方法中。对于不同的设备,你不能硬编码这个值感谢你的回答,你的解决方案100%有效
ViewCompat.animate(imageView)
.translationY(-400)
.alpha(1)
.setStartDelay(200)
.setDuration(800).setInterpolator(
new DecelerateInterpolator(1.2f)).start();