【发布时间】:2014-02-14 03:32:13
【问题描述】:
我在 RelativeLayout 的中心对齐了一个 ImageView,我希望它过渡到对齐的ParentTop。如何获取设置 TranslateAnimation 所需的 deltaY?
编辑: 由于我被要求展示我已经完成的工作,因此这是我正在使用的代码:
private Animation getTranslateAnimation(final View v) {
final float yDelta = getScreenHeight() - (2 * v.getHeight());
TranslateAnimation translateAnimation = new TranslateAnimation(0, 0, 0, yDelta);
translateAnimation.setDuration(Initial.DURATION_MILLIS);
translateAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
return translateAnimation;
}
这种方法的问题是我有在这个动画之后显示的 EditText,它应该位于 ImageView 的正下方。我设置了 AnimationListener 使其在动画结束时可见,但它将其定位在原始位置下方,而不是新位置下方。是否有一些简单的方法或者我应该切换到 PropertyAnimation 框架?
【问题讨论】:
-
对此有很多不同的方法。视图显示在哪里(活动、片段、对话框等)?由于左上角是 0,0,基本想法是只获取当前视图的 X(假设您希望它保持在该位置)并将 y 移动到 0。我可以显示包含更多信息的代码。您可以发布您在此期间尝试过的内容吗?
标签: android android-layout android-animation android-ui