【问题标题】:Place a view exactly over another view using view.animate()使用 view.animate() 将一个视图完全放在另一个视图上
【发布时间】:2016-12-19 18:57:50
【问题描述】:

我想使用 view.animate() 方法将一个视图移动到另一个视图的位置。

所以这就是场景:

我有以下布局: Initial layout(截图)

当点击/单击红色图像时,我希望将图像准确地移动(即动画/翻译)在云框所在的位置。 但是,当我使用这段代码时:

view.animate().x(target.getX()).y(target.getY()).setDuration(200).start();

结果如下: My result(截图)

目标视图的真实坐标是多少?为什么图像没有完全放置在目标视图的边界内?视图具有相同的大小。

【问题讨论】:

  • 我想知道边距/填充是否是问题所在。如果您将它们设置在任何一个视图上,您​​可以删除它们并查看会发生什么。如果是问题,那么只需在计算目标 X 和 Y 时减去此边距/填充。
  • 视图很干净。我没有设置任何边距或填充。

标签: java android android-animation translate-animation


【解决方案1】:

如果你使用 target.getX() 你不会得到屏幕上的绝对 x 位置。 我建议你使用 View.getLocationOnScreen()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-18
    • 2015-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多