Android TranslateAnimation - 将图像从屏幕右侧移动到屏幕中

时间:2011-11-26 21:22:30

标签: java android android-layout android-widget android-ndk

我现在很绝望,我真的需要一些帮助。我希望图像从屏幕右侧移入其中。

最初,图像存在于屏幕区域之外。但是,根据事件,我希望它可以滑入。

有谁知道如何做到这一点?我在网上阅读了一篇教程(http://developerlife.com/tutorials/?p=343),如果“动画效果延伸到屏幕区域以外,那么它们会被限制在这些边界之外”。

因此,根据本教程,这是不可能的。但是,还记得android 2.2锁屏吗?这两个图像(用于解锁和静音)分别用于从屏幕的左侧和右侧滑入。

我可以让我的图片从屏幕左侧滑入而不是从右侧滑入。有关如何完成这项工作的任何想法?

如果你想看我的代码,我可以把它拿出来。

2 个答案:

答案 0 :(得分:3)

这实际上非常简单。在您的布局中,将ImageView定位到动画结束时您想要的位置,并根据您的布局需要将其可见性设置为INVISIBLE或GONE。然后,当事件发生时,启动TranslateAnimation,其起始坐标使用RELATIVE_TO_PARENT设置,x为1.0(一直到右边),目标x坐标为0.0,类型为RELATIVE_TO_SELF,这样你的图像最终会在由布局。确保在开始动画时也打开可见性。

PS。重要的是,ImageView嵌套在ViewGroup下的所有内容都会一直延伸到屏幕右侧。否则,ImageView将被剪裁其父节点。

答案 1 :(得分:0)

您可以使用以下代码:  TranslateAnimation animation = new TranslateAnimation(-970.0f,2000.0f,0.0f,0.0f);  ImageView.startAnimation(动画);

前两个参数用于从哪个位置到想要图像水平移动的位置。我正在使用Nexus 9标签。这里图像从屏幕外移动到右端。