gpt4 book ai didi

android - 翻译动画是如何工作的 : Android

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:54:07 24 4
gpt4 key购买 nike

我正在尝试使用 TranslateAnimation 移动 RelativeLayout。我为执行相同操作而编写的代码是:

translateAnimation = new TranslateAnimation(0, 0, heightOfRootView-excuseContainer.getHeight(), currentYPoint);
translateAnimation.setRepeatMode(0);
translateAnimation.setDuration(500);
translateAnimation.setFillAfter(true);
excuseContainer.startAnimation(translateAnimation);

我正在尝试从特定 View 的当前 y 位置开始动画(我不需要改变 View 的 x 位置)但是动画每次都从第一个 y 点开始凝视。如何从当前的 y View 位置到所需的 View 位置执行此操作。

这里的heightOfRootView代表全屏的高度,excuseContainer是我想随动画移动的 View ,currentYPoint是最后一个y点excuseContainer 的。

编辑:我有任何可用的翻译动画教程。我搜索了它,但没有找到..

感谢您的支持。

最佳答案

您正在使用的 TranslateAnimation 构造函数的第三个参数是一个增量值,因此起点计算如下:

currentYPos + startingDeltaY

因为您似乎传递了一个 Y 值,它指的是屏幕上某物的位置,所以这个 delta 值是不正确的。

尝试使用这个构造函数:

public TranslateAnimation (int fromXType, float fromXValue, int toXType, float toXValue, int fromYType, float fromYValue, int toYType, float toYValue)

像这样:

new TranslateAnimation(Animation.RELATIVE_TO_SELF, 0, Animation.RELATIVE_TO_SELF, 0, Animation.ABSOLUTE, heightOfRootView-excuseContainer.getHeight(), Animation.ABSOLUTE, currentYPoint);

关于android - 翻译动画是如何工作的 : Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16727647/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com