问题标签 [android-transitions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
276 浏览

android - Android:将活动转换更改为交叉淡入淡出在特定情况下不起作用

我有两个活动,我们称它们为 Main 和 Second。主要的方向仅限于横向和反向横向(通过android:screenOrientation="sensorLandscape"清单),而第二个始终是横向(android:screenOrientation="landscape")。我想一直保持它们之间的淡入淡出过渡。我正在使用此代码来实现它:

它在两个活动中都onCreate()被调用。onResume()这种机制在从 Main 切换到 Second(横向和反向横向)以及在横向中从 Second 回到 Main 时效果很好。当我在第二个活动中处于反向景观并尝试返回 Main 时会出现问题。在这种情况下,标准旋转动画触发(Second 锁定为横向,Main 适应反转横向)。所以不知何故我的淡入淡出动画被忽略了。
有趣的是,在 Android 5 (Samsing Galaxy S6) 上始终正确使用交叉淡入淡出动画,并且不会出现此问题。其他设备使用的是 Android 4.4.2 和 4.4.4。
我试图解决这个问题,overridePendingTransition(int enterAnim, int exitAnim)但它并没有改变一点。

如何修复或解决此问题?

0 投票
1 回答
109 浏览

android-animation - Circular Reveal Android 软化边缘

我只是在尝试新的 Lollipop 过渡,并且很好奇以下是否可行。现在我有一个循环显示动画效果很好,但它用非常硬的线条显示背景。我想知道是否可以柔化线条或淡化边缘,以使过渡不那么刺耳。

0 投票
1 回答
358 浏览

android - 非线性活动过渡动画

我想实现一个非线性活动过渡动画。

我当前的动漫 xml 文件

我想做的是动画以更快的速度开始缓慢结束。

0 投票
1 回答
3192 浏览

android - 如何在Android中更改片段时使用Material Design Transition?

我喜欢这样的Android 材料设计引入的新过渡

在此处输入图像描述

但是,当我在 Drawer 中选择一个项目后替换片段时,我想使用它:

那可能吗?EnterTransition对/ExitTransitionExplode过渡动画使用相同的逻辑。

0 投票
1 回答
2850 浏览

android - 在新活动上从片段到片段的共享元素转换

我正在开发一个应用程序,该应用程序当前ImageView在同一活动上使用从一个片段到另一个片段的内容转换。它工作正常,但是我意识到我的目标片段需要有自己的活动。

所以假设我有包含Fragment 1的Activity A 并且我有包含Fragment 2的Activity B。我需要执行从Fragment 1Fragment 2的共享元素转换。

这是我到目前为止所做的:在从片段 1 到活动 A 的回调方法中,我传递了选定的实体以及我想要转换的图像视图。

活动一

活动 B

片段 2

活动主题

我没有看到在运行时发生任何内容转换。正如我之前提到的,我在同一个活动中从片段到片段的转换正常工作。另外值得注意的是,片段 1 是一个网格视图,所以我必须自己维护转换名称,所以它们都是唯一的,这就是为什么你会在运行时看到 setTransitionName 调用。

知道为什么我没有看到过渡运行吗?

0 投票
1 回答
439 浏览

android - Material Design 非简单活动过渡动画

我查看了 Android SDK 示例中的 ActivitySceneTransitionBasic 示例,该示例非常简单地从 GridView 项单击转换为被单击项的详细 Activity。这个例子太简单了。我想做一些更复杂的事情,比如这个视频中的 21 岁。我希望单击的项目成为像视频显示的 CollapsingToolbarLayout 中的标题,并且我希望显示相同的增长动画,因为它实现了指南中的内容(高度和扩展)。

0 投票
0 回答
487 浏览

android - Android Page curl / flip / turn ACTIVITIES之间的动画(不是图像)

有没有人能够用 XML 动画文件模拟 3d-ish 页面卷曲动画?

我已经看到了关于这个主题的多个问题,但是所有的答案通常都会指向一个 3d 页面卷曲库的源代码链接,该库用于两个视图/图像之间的动画。

我需要活动之间的页面卷曲动画!

我愿意接受一些简单的事情:

这个例子理论上通过从右边淡出来模拟翻页。关于如何正确编码上述示例的任何想法?或关于在活动之间实现页面卷曲动画的任何其他建议(请不要将我指向 harism 或 MysticGames 库)

0 投票
1 回答
766 浏览

android - 为什么我应该在 transformPage() 中调用 setTranslationX() ,它不会影响视图的最终位置吗?

我无法理解课堂上transformPage()方法的使用PageTransformer

以官方 ZoomOut Transformer 为例:

我知道我们需要考虑两个视图,一个在左侧(-1--0),另一个在右侧(0--1)

但是我不明白view.setTranslationX()的用法,好像即使我删除了那几行代码,区别只是滑动时两个视图之间的差距,看我上传的图片(我也删除了缩放代码,如你可以看到甚至有重叠)</p>

删除缩放代码 view.setScaleX() 和 Y() 后,甚至有重叠,其永久效果,

所以我的问题是为什么我们要在滑动期间使用 setTranslationX() 方法,对视图位置的影响就像永远一样。

0 投票
1 回答
6636 浏览

android - FragmentTransaction.replace() 淡入过渡显示“幽灵”片段

你可以下载我的整个项目来尝试调试。这是我的整个代码的回购:https ://bitbucket.org/lexic92/studio48/


当我尝试用空白片段替换空白片段时,过渡中出现了“幽灵片段”。

如何重现问题: 我有一个导航抽屉,当我单击一个项目时,它会打开一个填充整个屏幕的片段。

导航抽屉:

  • 按钮 1 - 带有文本的片段
  • 按钮 2 - 为空的片段

    1. 当我打开应用程序时,它从带有文本的片段开始。然后,我打开 Navigation Drawer 并单击 Button 2。Transition is bad,并在瞬间变成空白屏幕,然后切换回淡入淡出的文本,直到它变成空白屏幕。

    2. 如果我打开导航抽屉并再次单击按钮 2 ,它会从全文淡入空白屏幕。因此,在一瞬间,它会在不应该显示的情况下显示带有文本的片段。我在调试模式下逐步运行我的应用程序,以减慢它的速度并验证此行为是否确实发生了。

    3. 如果我打开导航抽屉并第三次再次单击按钮 2 ,它不会正确显示任何动画,因为它正在淡入同一屏幕。

有谁知道为什么会这样?你认为它与导航抽屉有什么关系吗?

这是我的整个代码的回购: https ://bitbucket.org/lexic92/studio48/

以下是一些代码摘录:

SongDetailActivity.java:

当我注释掉说“.setTransition”的 2 行并取消注释说“.setCustomAnimations”的 2 行时,也会发生同样的问题。以下是自定义动画:

res/anim/fade_out.xml:

res/anim/fade_in.xml

如何在不出现“幽灵”片段的情况下使其顺利过渡?

规格:我在 Google Nexus 5 物理设备(不是模拟器)上使用 android.support.v7.app.ActionBarActivity、minSdkVersion == 15 和 targetSdkVersion == 21 运行。

我对答案的猜测:

这个网站似乎给了我一个提示:http ://gotoanswer.com/?q=Android+Animation+within+a+Fragment+not+working

就我个人而言,这是片段动画的 zPosition 的错误。

您看到的是“出现”的新片段,这是因为新片段附加在当前片段下方。

因此,当尝试对现有片段的“上方”片段进行动画处理时,似乎什么都没有发生,然后新片段就“出现”了。

我尝试了很多变通方法,使用 zPosition (仅影响窗口而不影响布局,因此对片段没有影响), onAnimationCreate() 将根布局置于前面,甚至在动画开始和停止时......似乎什么都不做。

因此,在没有为片段过渡编写完整的自定义动画的情况下,它们目前有点错误。

你可能不得不玩。.add(Fragment) 等待它被添加,然后调用 .remove(Fragment) 删除旧的片段,这样新的片段就物理地放置在现有片段的顶部。

我确实注意到在实例化 SongDetailActivity.java 时调用了这段代码,即使我没有点击导航抽屉:

正如引用所暗示的那样,在淡入新片段之前,当前片段可能正在淡出到这个“基础”片段?

我最终做了什么

注意:我没有把它作为答案,因为它在技术上不能回答我的问题,但它是我能想到的最好的备份计划解决方案。

我尝试在没有动画的情况下查看问题是否已解决。“幽灵片段”没有出现,但我确实注意到加载片段需要一秒钟,看起来很刺耳和丑陋。我想要一个丝般流畅的应用,如果没有动画的时候不流畅,那么即使我修复了幽灵片段的错误,它也可能是无望。我了解到片段只是错误的(见这里)。

我决定隐藏并显示视图。这是我的新代码:

SongDetailActivity.java

我还复制并粘贴了 2 个片段的布局(空的和有大量文本的)到相同的布局中,作为 FrameLayout 父级的子级:

fragment_songlist_detail.xml:

它工作正常,但我只是不知道如何让它淡入淡出。但这是一个单独的堆栈溢出问题的问题。如果有人解开幽灵碎片之谜,我很想知道答案。但我决定我现在不打算浪费时间试图弄清楚它,特别是当片段的过渡在过去被证明是错误的时候(就像在那篇文章中一样)。

0 投票
0 回答
657 浏览

android - Lollipop 多个共享视图转换

我正在努力在我的应用程序上进行漂亮的过渡。我成功共享 1 个元素,但在共享多个元素时失败。以下代码仅对 3 个共享元素中的一个元素进行动画处理。我不知道为什么。这似乎是因为布局 xml 文件中列出的最后一个视图。

这是我所做的:
在我的主题中:

在活动 OnCreate :

在 Activity Clic 监听器中:

在 change_image_transform.xml 中:

在两个布局 xml