我正在使用Android的objectAnimator将按钮从底部向上移动。现在我正在使用以下代码:
ObjectAnimator transAnimation = ObjectAnimator.ofFloat(button,"translationY",0,440);
transAnimation.setDuration(440);
transAnimation.start();
我也尝试了下面的示例代码。但问题仍然存在。
ObjectAnimator transAnimation = ObjectAnimator.ofFloat(loginLayout, "translationY",0f,0.8f);
transAnimation.setDuration(480);
transAnimation.start();
在大屏设备上运行良好,但在小屏设备上会偏离屏幕。我希望它始终保持在屏幕顶部,而不受不同屏幕大小的影响。我认为我必须以百分比(例如0%到100%或0到100%p)的形式给出值。因此,我的问题是如何在Android的objectAnimator中以百分比形式给出值。我还注意到,这个objectAnimator仅在HoneyComb中引入。所以是否有向后兼容的库可以在低版本中运行它?能否指导我找到解决方案。我还尝试扩展View并在offset()中编写属性的getter和setter。但它仍然无法完全移动到屏幕顶部。这里是我使用的代码。
@SuppressLint("NewApi") public float getXFraction()
{
int width = context.getWindowManager().getDefaultDisplay().getHeight();
return (width == 0) ? 0 : (getY());
}
@SuppressLint("NewApi") public void setXFraction(float xFraction) {
int width = context.getWindowManager().getDefaultDisplay().getWidth();
setY((width > 0) ? (width) : 0);
}
提前致谢