Android TranslateAnimation - 将图像从屏幕右侧移动到屏幕中
Posted
技术标签:
【中文标题】Android TranslateAnimation - 将图像从屏幕右侧移动到屏幕中【英文标题】:Android TranslateAnimation - Moving an image from the right side of the screen into the screen 【发布时间】:2012-01-07 01:52:29 【问题描述】:我现在很绝望,我真的需要一些帮助。我希望图像从屏幕右侧移入其中。
最初,图像存在于屏幕区域之外。但是,基于一个事件,我希望它滑入。
有谁知道如何做到这一点?我在网上的教程(http://developerlife.com/tutorials/?p=343)中读到,如果“动画效果超出屏幕区域,那么它们会被剪裁到这些边界之外”。
因此,根据本教程,这是不可能的。但是,还记得 android 2.2 的锁屏吗?这两个图像(用于解锁和静音)分别从屏幕的左侧和右侧滑入。
我可以让我的图像从屏幕左侧滑入,但不能从右侧滑入。关于如何完成这项工作的任何想法???
如果你想看我的代码,我可以把它放上来。
【问题讨论】:
【参考方案1】:这其实很简单。在您的布局中,将 ImageView 定位到动画结束时所需的位置,并将其可见性设置为 INVISIBLE 或 GONE,具体取决于您的布局需要。然后当事件发生时,使用 RELATIVE_TO_PARENT 设置起始坐标开始 TranslateAnimation,x 为 1.0(一直向右),目标 x 坐标为 0.0,类型为 RELATIVE_TO_SELF,以便您的图像最终位于由布局。确保在开始动画时也打开可见性。
附言。重要的是,无论您的 ImageView 嵌套在哪个 ViewGroup 下,都一直延伸到屏幕右侧。否则 ImageView 将被剪裁到其父级的边界。
【讨论】:
【参考方案2】:您可以使用以下代码: TranslateAnimation 动画 = 新的 TranslateAnimation(-970.0f, 2000.0f, 0.0f, 0.0f); ImageView.startAnimation(动画);
第一个两个参数是您希望图像从哪个位置水平移动到哪个位置。我正在使用 Nexus 9 标签。这里的图像是从屏幕外移动到最右端的。
【讨论】:
以上是关于Android TranslateAnimation - 将图像从屏幕右侧移动到屏幕中的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )