如何在屏幕外定位视图,以便动画可以在屏幕上移动?

时间:2010-10-26 08:40:00

标签: android animation

我有一个RelativeLayout填充屏幕,并使用ImageView页边距放置了几个LayoutParams。这些ImageView以不同的方式进行动画处理,在一种情况下,我希望图像从右侧“飞入”屏幕。

不幸的是,如果我为该ImageView设置的leftMargin大于屏幕的宽度,则它不会出现(或者如果在动画开始时部分可见,则会出现裁剪)。

我尝试将RelativeLayout的宽度和高度设置为大于屏幕尺寸 - 它可以工作,但只是部分:如果图像完全位于屏幕外,则不起作用,如果图像是部分的可见,裁剪,但仅适用于右侧和底侧。

所以,我的问题是:如何在屏幕上放置多个ImageViews关闭,以便我可以使用Animation设置动画?

2 个答案:

答案 0 :(得分:5)

最后,我使用了一个技巧:我结合了AnimationDrawable和视图动画。我做了以下(假设动画必须运行T毫秒):

  1. 将ImageView放在屏幕上。
  2. 将具有以下帧的AnimationDrawable设置为其背景:
    • 空Drawable:1ms,
    • normal Drawable:Tms。
  3. 将视图的动画更改为:
    • 跳到屏幕外位置(持续时间= 1ms的翻译),
    • 做普通动画。

答案 1 :(得分:1)

这可能是开始寻找那些使用Fixpoint解决方案的人的好地方。

Android — How to position View off-screen?