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

Fix*_*int 11 animation android

我有一个RelativeLayout填充屏幕,并ImageView使用LayoutParams边距定位在屏幕上.这些ImageView动画以不同的方式动画,在一种情况下,我希望图像从右边"飞入"屏幕.

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

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

所以,我的问题是:如何定位几个ImageViews上和关闭屏幕,这样我可以用它们制作动画Animation

Fix*_*int 5

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

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

  • 你实现了吗?很高兴检查一些代码! (4认同)