【问题标题】:Android: TranslateAnimation on a BitmapAndroid:位图上的 TranslateAnimation
【发布时间】:2012-01-17 12:47:11
【问题描述】:

我在画布上绘制了一个 android.graphics.Bitmap 对象,我想做的是将其从位置 x,y 设置为位置 x1, y1 的动画。因此,在查看了动画库之后,我想我可以使用 TranslateAnimation 来制作动画,但 Bitmap 对象没有“startAnimation”方法。那么如何为我的位图制作动画呢?我需要将它包装在其他对象中吗?

【问题讨论】:

  • 动画用于视图对象。要翻译/转换您在画布上绘制的位图,您必须创建自己的动画算法(除非您希望包含画布的整个视图都进行动画处理)

标签: android bitmap android-animation translate-animation


【解决方案1】:

您可以将其设置为 ImageView 并为 ImageView 设置动画。

编辑:现在我考虑了一下,无论如何您都应该通过某些视图显示位图。补间动画可以应用于任何可见视图,因此无论显示位图,只需为其设置动画即可。

或者,您可以扩展 View 并创建自定义视图。使用canvas.translate(toX, toY)方法移动画布并绘制位图。

【讨论】:

  • 所以现在我有一个自定义视图,在 OnDraw 中我正在绘制一堆位图。如果我将这些位图更改为 ImageView,我如何将 ImageView 绘制到我想要的位置?
  • 怎么画?您可以将ImageViews 放置在您最初想要的任何位置,就像任何其他View 一样。当您制作补间动画时,您可以选择移动 n x/y 位置的像素数或基于 ImageView 的位置本身或其父位置的百分比。
  • 好吧,让我试试这个,我会回来找你的。
【解决方案2】:

DeeV 说对了——您的位图如何为用户显示?应该是ImageView,设置BitmapDrawable,对于这个视图你可以启动动画。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-10
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-27
    相关资源
    最近更新 更多