当前位置: 首页 > 知识库问答 >
问题:

翻译动画-结束位置

乌杰
2023-03-14

我需要在一秒钟内将动画转换为X(150)和Y(100)位置,从而为我的视图设置动画。它与以下代码配合良好:

Animation translate = new 
TranslateAnimation(0, 150 - view.getLeft(), 0, 100 - view.getTop());
translate.setDuration(1000);
view.setAnimation(translate);
translate.start();

但是我需要在动画完成时视图保持在这个位置(150100),然后我调用setAnimationListener并执行以下操作:

@Override
public void onAnimationEnd(Animation animation) {
    if (animation == translate) {
        RelativeLayout.LayoutParams params = new 
        RelativeLayout.LayoutParams(view.getWidth(), view.getHeight());
        params.topMargin = 100;
        params.leftMargin = 150;
        view.setLayoutParams(params);
    }
}

问题是,在动画结束时,视图闪烁一次(非常快,几乎看不到),然后视图移动到另一个位置,非常接近所需的位置(150100),但并不精确。

如果我设置translate。setFillAfter(true)它可以工作。但是,如果我需要对同一视图应用另一个动画,它会正常工作吗?

共有1个答案

朱经武
2023-03-14

您需要添加以下内容:

fillAfter=true
fillEnabled=true
 类似资料:
  • HTML5画布提供translate(x, y)方法,该方法用于将画布及其原点移动到网格中的不同点。 这里参数x是画布向左或向右移动的量,y是向上或向下移动的量。 例子 (Example) 以下是一个简单的例子,利用上述方法绘制各种螺旋形图 - <!DOCTYPE HTML> <html> <head> <style> #test { w

  • 问题内容: 嗨,我希望animation.view像一个圆圈一样移动。我以 鼻窦想到了这一点,但没有用。有人知道该怎么做吗?我不想旋转 视图。它应该绕圈移动。我是新来的本地人。 如果有人可以帮助我,那就太好了。 问题答案: 你算算,并Y与三角函数功能。 对应,并且是对应于。 尽管不支持函数回调,但是您可以将其分为几部分进行模拟(我在 代码示例中选择了50个): 完整代码:

  • 我试图在底部导航栏下显示一个视图,以向用户显示一条消息。 需要使用翻译动画隐藏此视图。 没有动画的当前行为看起来像下面的附件 在执行动画时,翻译动画所覆盖的部分将从屏幕上移除,并留下一个空白(我无法去掉它): 下面是动画的代码: 有没有其他方法来执行这个动画而不得到这个问题? 提前致谢

  • 问题内容: 给定以下CSS3动画。… “ Hello World”文本动画会按预期下降100px。但是,在动画结束时,它会跳回到其原始位置。 显然,这在CSSland中是有意义的。动画已应用且不再作用于元素,因此原始样式生效。不过,这对我来说似乎有些奇怪- 当然,如果有人将某个元素动画化到位,那么人们会期望该位置继续存在吗? 有什么方法可以使结束位置“粘滞”,而不必借助Javascript在动画结

  • 您可使用 Google Translate™ 应用程式翻译词组: 按下侧边电源按钮打开应用程式菜单,找到并轻触Translate(翻译)。 您将看到翻译源语言与目标语言这两种语言。您可通过轻触某一语言的名称来更改语言。 轻触“麦克风”图标并说出您想翻译的词组。 译文将显示在屏幕上。

  • iPad版腾讯视频翻转显示影片详情动画,path里也用到这个动画,用户点击列表上面某张缩略图片,图片翻转变大之后显示详情。动画效果请看视频。 [Code4App.com]