Android - 使用动画移动可绘制对象

Android - move drawable with animation

我是 Android 的新手,需要建议。我有一个带有多个 ImageView 的 GridLayout。每个 ImageView 都有一个可绘制对象和一个背景颜色。单击按钮时,我想 动画 两件事,具体取决于用户的输入:1) 将整个视图移动到新位置(这部分很清楚,不会引起问题),以及2) 将仅图像的可绘制对象 移动到一个新单元格,将视图的背景颜色留在原始位置。我完全陷入了第二个任务。如何使用动画移动可绘制对象?感谢您的帮助。

move only the image's drawable to a new cell, leaving the view with the background color at the original position

我认为你不能 "move a drawable"。但您可以执行以下操作:

  • 引入一个 View - 我们称它为 movingDrawableView - 仅显示可绘制对象但具有透明背景,此 View 一开始是隐藏的
  • 设置此 movingDrawableView 的位置以将 View 与可绘制对象和彩色背景重叠并使其可见
  • 将带有彩色背景的 View 的可绘制对象设置为 null
  • 开始 movingDrawableView
  • 的动画
  • 动画完成后,立即用可绘制对象填充底层 View 并根据需要显示背景
  • 隐藏movingDrawableView