Android 3d 动画,如 Google Now 启动器菜单动画

2024-01-03

我需要在这样的活动或片段之间制作动画。我用Android Api >=14.

http://www.youtube.com/watch?v=cNMqIv5Ocnk http://www.youtube.com/watch?v=cNMqIv5Ocnk- 这是 Nexus5 启动器

我已经尝试过使用 Android ObjectAnimator 制作动画,但它与此视频动画不太相似。

提前致谢。

我试过这段代码

(gla_on.xml):

<objectAnimator
    android:duration="0"
    android:propertyName="alpha"
    android:valueFrom="1.0"
    android:valueTo="0.0" />
<objectAnimator
    android:duration="1000"
    android:interpolator="@android:interpolator/accelerate_decelerate"
    android:propertyName="scaleY"
    android:valueFrom="1"
    android:valueTo="12" />
<objectAnimator
    android:duration="1000"
    android:interpolator="@android:interpolator/accelerate_decelerate"
    android:propertyName="scaleX"
    android:valueFrom="1"
    android:valueTo="12" />

gla_off.xml:

<objectAnimator
    android:duration="0"
    android:propertyName="alpha"
    android:valueFrom="0.0"
    android:valueTo="1.0" />
<objectAnimator
    android:duration="1000"
    android:interpolator="@android:interpolator/accelerate_decelerate"
    android:propertyName="scaleY"
    android:valueFrom="1"
    android:valueTo="12" />
<objectAnimator
    android:duration="1000"
    android:interpolator="@android:interpolator/accelerate_decelerate"
    android:propertyName="scaleX"
    android:valueFrom="1"
    android:valueTo="12" />

并将其放入这段代码中:

getFragmentManager()
        .beginTransaction()
        .setCustomAnimations(R.anim.gla_on, R.anim.gla_off)
        .replace(R.id.container, new NextFragment())
        .addToBackStack(null)
        .commit();

但 NextFragment 不显示


CLOSED

经过多次尝试,我找到了决定。

(您可以在这里观看结果 -http://www.youtube.com/watch?v=Npn0c68OkYs http://www.youtube.com/watch?v=Npn0c68OkYs )

我在 Android Resource 文件夹中创建了 4 个动画anim

gla_there_come.xml

<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <objectAnimator
        android:duration="500"
        android:propertyName="alpha"
        android:valueFrom="0.0"
        android:valueTo="1.0" />
    <objectAnimator
        android:duration="500"
        android:interpolator="@android:interpolator/accelerate_decelerate"
        android:propertyName="scaleY"
        android:valueFrom="0"
        android:valueTo="1" />
    <objectAnimator
        android:duration="500"
        android:interpolator="@android:interpolator/accelerate_decelerate"
        android:propertyName="scaleX"
        android:valueFrom="0"
        android:valueTo="1" />

</set>

gla_there_gone.xml

<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <objectAnimator
        android:duration="500"
        android:propertyName="alpha"
        android:valueFrom="1.0"
        android:valueTo="0.0" />
    <objectAnimator
        android:duration="500"
        android:interpolator="@android:interpolator/accelerate_decelerate"
        android:propertyName="scaleY"
        android:valueFrom="1"
        android:valueTo="12" />
    <objectAnimator
        android:duration="500"
        android:interpolator="@android:interpolator/accelerate_decelerate"
        android:propertyName="scaleX"
        android:valueFrom="1"
        android:valueTo="12" />

</set>

gla_back_gone.xml

<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <objectAnimator
        android:duration="500"
        android:propertyName="alpha"
        android:valueFrom="0.0"
        android:valueTo="1.0" />
    <objectAnimator
        android:duration="500"
        android:interpolator="@android:interpolator/accelerate_decelerate"
        android:propertyName="scaleY"
        android:valueFrom="12"
        android:valueTo="1" />
    <objectAnimator
        android:duration="500"
        android:interpolator="@android:interpolator/accelerate_decelerate"
        android:propertyName="scaleX"
        android:valueFrom="12"
        android:valueTo="1" />

</set>

gla_back_come.xml

<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <objectAnimator
        android:duration="500"
        android:propertyName="alpha"
        android:valueFrom="1.0"
        android:valueTo="0.0" />
    <objectAnimator
        android:duration="500"
        android:interpolator="@android:interpolator/accelerate_decelerate"
        android:propertyName="scaleY"
        android:valueFrom="1"
        android:valueTo="0" />
    <objectAnimator
        android:duration="500"
        android:interpolator="@android:interpolator/accelerate_decelerate"
        android:propertyName="scaleX"
        android:valueFrom="1"
        android:valueTo="0" />

</set>

我添加了将以下代码添加到我的 FragmentActivity 中:

public void goToNext() {
    mShowingNext = true;

    getFragmentManager()
            .beginTransaction()
            .setCustomAnimations(R.anim.gla_there_come, R.anim.gla_there_gone)
            .replace(R.id.container, new NextFragment())
            .commit();
}

public void goBack() {
    mShowingNext = false;

    getFragmentManager()
            .beginTransaction()
            .setCustomAnimations(R.anim.gla_back_gone, R.anim.gla_back_come)
            .replace(R.id.container, new MainFragment())
            .commit();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 3d 动画,如 Google Now 启动器菜单动画 的相关文章

随机推荐

  • DataGridView 列页脚 c#.net winforms

    有没有办法在a中添加列页脚datagridview哪个不是数据绑定 我用它来获取用户输入以添加库存 目前我正在使用标签来显示总数 但如果可能的话我想将其更改为页脚 我之前遇到过同样的问题 经过长时间的搜索后我意识到 Winform Data
  • 如何从相对路径使用动态链接库

    我想使用 go 应用程序中的动态 C 库 我可以构建应用程序 但在运行时找不到该库 这是我的项目的结构 src ctest lib libmylib so libmylib h main go 在 main go 中 我导入 h 和 so
  • UIPageControl + UIAppearance

    UIAppearance 的文档非常糟糕 我想自定义 UIPageController 的颜色 但我无法弄清楚要设置哪些属性 当我走的时候 UIPagecontrol appearance set我可能有数百个选择 所以几乎不可能弄清楚什么
  • 如何使用 Invoke-WebRequest 查看发送的标头?

    当我使用以下命令时 Invoke WebRequest UseBasicParsing Uri http example com SessionVariable Foo UserAgent Bar 我得到以下输出 StatusCode 20
  • 识别WinRT的宏?

    是否有新的宏可以在代码中确定应用程序是否在 WinRT 上运行 正如我正在与LoadLibrary 如果有一个宏来替换所有调用 那就太好了LoadLibrary与一到LoadPackagedLibrary 我理解文档是正确的 因为我可以通过
  • FosUserbundle 和 symfony 2 模板和编辑

    我是 symfony 2 的新手 我刚刚设置了基本的 FOSuserbundle 但我有几个问题 我已经设置了新的布局模板 但我找不到在哪里更改登录 注册 个人资料的表单模板 我找不到如何编辑用户个人资料 我可以使用 profile 查看个
  • 从 React 组件中外部加载的 HTML 访问内部函数

    我有以下用例 一些来自第三方源的 HTML 被加载到我的 React 组件中 class MyComponent extends Component render return div div 在外部加载的 HTML 内部 存在特定跨度的单
  • 从服务器获取 Windows 登录名

    我已经被这个问题困扰好几天了 非常感谢任何帮助 我有一个 SQL 触发器 它调用用 C 编写的 DLL 在此函数中 我需要发起触发触发器的 SQL 命令的人员的 Windows 登录名 我从 C 还是 SQL 获取此信息并不重要 不幸的是
  • 我试图在 MATLAB 中使用 LaTex 字符串作为轴标签,但无缘无故地得到一个数字

    我正在尝试使用 LaTex 字符串为 y 轴标签插入一个分数 我得到一个数字 采用标准字体和ylabel位置 以及我的预期 我试图插入的分数 当我编辑代码时 这对我来说已经改变了 但是当我尝试调查这个问题时就停止了 我输入的是 353 19
  • 没有 CSRF 代币的表单:有什么风险

    如果我不在表单中使用 csrf 令牌 我到底会面临哪些风险 我并不是在寻找简单的风险标签或名称 因为这些可能会令人困惑 我需要用简单的英语了解攻击者到底可以做什么以及只有在什么情况下他们才能做到这一点 CSRF 漏洞允许恶意用户 或网站 让
  • 将 JanusGraph 与 Solr 结合使用

    设置 JanusGraph 我在控制台中注意到以下内容 09 04 12 175 INFO ReflectiveConfigOptionLoader 173 Loaded and initialized config classes 10
  • 将 HTMLCollection 转换为数组的最有效方法

    除了迭代所述集合的内容并手动将每个项目推入数组之外 是否有更有效的方法将 HTMLCollection 转换为数组 var arr Array prototype slice call htmlCollection 使用 本机 代码将具有相
  • Apache poi 多行项目符号点可以工作,但不能多段落?

    使用 apache poi 库生成 Word 文档要点正在工作 但我尝试多个段落不起作用 我已粘贴在下面 我的java类代码 package samplebuller import java io FileInputStream impor
  • 如何在 PHP 中拆分字符串中的泰米尔字符

    如何拆分字符串中的泰米尔语字符 当我使用preg match all u str results 我得到字符 和 如何获得组合字符 和 我想你应该能够使用the grapheme extract功能 http php net manual
  • 实例替代IO的目的是什么?

    此实例似乎行为不正常 gt guard True lt gt guard False gt guard False lt gt guard False Exception user error mzero 有人可能会争辩说 这不会导致任何其
  • 用户界面问题:一种让 MDI 子项显示在任务栏中的方法?

    我希望得到您对以下问题的建议 我们正在为正在开发的 Windows 窗体应用程序研究不同的用户界面解决方案 我们得出的结论是 在我看来 最好的解决方案是单文档界面 就像 MS Word 那样 也就是说 每次我们创建一个新文档时 它将在一个新
  • 将我的应用程序与联系人集成

    我想将我的应用程序与联系人管理器集成 更确切地说 当我在手机中运行 联系人 应用程序 然后单击任何头像时 会出现一个弹出 快速联系人徽章 窗口 其中包含一些可供选择的应用程序 联系人 邮件等 我想在该位置添加我的应用程序 那可能吗 我希望能
  • 如何在 Jetpack Compose Desktop 中加载字体?

    在 Android 版 Jetpack Compose 中 您可以执行以下操作 val fontFamily FontFamily Font resId R font my font 400 regular weight FontWeigh
  • 将自定义 Forager 与 OptaPlanner 结合使用时的 XStream ForbiddenClassException

    我最近将 optaplanner 版本从版本 7 0 0 升级到版本 7 4 1 我使用在配置文件中声明的自定义 Forager 如下所示
  • Android 3d 动画,如 Google Now 启动器菜单动画

    我需要在这样的活动或片段之间制作动画 我用Android Api gt 14 http www youtube com watch v cNMqIv5Ocnk http www youtube com watch v cNMqIv5Ocnk