安卓中的神灯效果动画

11

我有实现下方展示的魔术效果动画的要求。

进入图像描述

参考:

我不知道从哪里开始。有谁能给我一些想法吗?

我尝试过一些基本的动画代码,比如平移和缩放,但是没有成功。


嘿,我刚刚发布了那个链接...实际上我没有使用那个...老实说,我不知道这个动画.. :) - Pankaj Kumar
3
我希望这个问题能够得到一个被接受的答案。 :) - TheLittleNaruto
1
我也是,正在等待被接受的答案 :D - Hardik Joshi
你使用BCGenieEffect时遇到了什么问题吗?那个GitHub链接似乎很好地解释了它。 - radical
@radical,我试过了...但它是iOS代码。而且它与Java的代码不同。所以我找不到编程概念的相似之处。 :( - Chintan Rathod
显示剩余7条评论
3个回答

6

我已经使用AndEngine游戏库实现了这段代码。

请查看以下附加的代码,它将帮助您进一步前进。您可以将此代码用作Android代码的片段,或者创建此代码的实例,并再次从活动中扩展以重用此代码。

此压缩文件包含2个项目:

  1. 上述效果的代码实现
  2. 您需要添加到我的项目中的AndEngine库。

单击此处下载我的代码


典型的解决方案,但尝试实施并让您知道.. :) - Chintan Rathod
好的,我已经在Webview上实现了动画... 如果有任何问题,请告诉我。 - KOTIOS
但我有一个问题..如何在Web视图中立即设置图像?因为Web视图将显示在当前显示的屏幕上。 - Chintan Rathod
1
很酷,我会今晚编辑我的帖子,因为我昨晚实现了这段代码...现在我没有代码 :) 另外,好问题,值得悬赏 :P - KOTIOS
让我们在聊天中继续这个讨论 - Chintan Rathod
显示剩余13条评论

0

我有一个浏览器解决方案。

请查看 https://github.com/kamilkp/geniejs

以及演示 http://kamilkp.github.io/

它在所有浏览器中都可以工作,包括移动设备(虽然在 Firefox 上不总是流畅)。它支持各个方向(上下左右)的 Genie Effect 转换。即使目标 html 元素是某些容器的子元素,这些容器具有 overflow auto 或 hidden,它也能正常工作。它本身不带任何库,但我也编写了一个方便的 jQuery 插件。如果您还在项目中包含了 html2canvas 库,插件会让您使用 genie effect 动画 HTML 元素(扩展的示例在此:http://kamilkp.co.nf/genie/canvas/

唯一的浏览器要求是它需要支持 CSS 转换。这是一个纯 JavaScript + CSS 解决方案。

另外,您可以使用 Phonegap 从 Web 应用程序创建 Android 应用程序。


0

我尝试制作类似于精灵效果的动画。但它并不像您的图片展示得那么完美,但它会在您的研究过程中帮助您。

演示示例视频

在res中创建anim文件夹。复制falling.xml文件。

falling.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/linear_interpolator" >

    <translate
        android:duration="750"
        android:fromXDelta="0%p"
        android:fromYDelta="10%p"
        android:toXDelta="0%"
        android:toYDelta="50%" />

    <scale
        android:duration="750"
        android:fillAfter="false"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:pivotX="50%"
        android:pivotY="100%"
        android:toXScale="0"
        android:toYScale="0" />

</set>

使用以下Java代码在按钮点击时应用动画。
final Animation animationFalling = AnimationUtils
                        .loadAnimation(GenieEffectActivity.this, R.anim.falling);
                imgview.startAnimation(animationFalling);

希望它能对你有所帮助。


你正在做卷曲效果吗? - Hardik Joshi
是的,但目前这是次要的事情...将实现贝塞尔曲线。 - Chintan Rathod

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接