Articles of 共享元素转换

方向改变后,Android反向共享元素转换?

对于共享元素转换,我正在关注这个 github项目。 它有2个屏幕 – 一个与recyclerview有卡数量和第二个细节屏幕。 正如预期的那样,它展现了imageview&textview从recyclerview项目到详细的屏幕和背面的逆向转换的元素转换。 但是,如果用户在细节屏幕上改变方向,然后按下返回button,则反转过渡animation不起作用。 在2:49到2:57之间查看这个video帧,即使在方向改变之后,似乎也是可能的。 任何想法呢? 编辑: 请查看此video以获得更好的理解。

方向改变后,转换闪烁

UPDATE 我开通了Google https://issuetracker.google.com/issues/63663775的错误 我正在尝试在我当前的Android应用程序中使用makeSceneTransitionAnimation 。 我有一个源Activity ,包含一个Fragment ,在片段内是一个RecyclerView 。 当我点击RecyclerView一个图像时,我转换到了我的目标Activity ,该目标Activity包含一个片段,该片段使用可接受的animation正确显示图像。 按下后退button可正确反转animation。 上述工作正常人像和风景方向。 当查看目标碎片时改变方向,然后按下后退button,就会发生闪烁问题。 还有其他一些问题,如图像不能直接返回到原来的位置,而在较旧的设备上,我会看到横向的线条,就像来自调谐不良的模拟电视的干扰。 它的BLINKING非常糟糕,设备屏幕全黑约500ms。 我已经下载并部署了谷歌示例共享元素转换应用程序,它似乎有相同的“function”。 我已经尝试了多种解决scheme,而且没有一个能够像这样工作 。 这是展示这个问题的一个方面。 LOGCAT增加 07-21 12:57:18.097 1962-1967/com.incentive.yellowpages I/zygote64: Do partial code cache collection, code=30KB, data=21KB 07-21 12:57:18.099 1962-1967/com.incentive.yellowpages I/zygote64: After code cache collection, code=30KB, data=23KB 07-21 12:57:18.099 1962-1967/com.incentive.yellowpages I/zygote64: Increasing code cache capacity to 128KB 07-21 12:57:20.540 1962-2058/com.incentive.yellowpages […]

活动中的打嗝与共享元素转换

我想要使​​用Android棒棒糖的新活动转换。 但是目前我在animation中看到很奇怪的混乱。 我把我能想到的最小样本一起砍了。 这是我在一个非常短的版本中做的: 在我的styles.xml启用了窗口内容转换 在我的风格中引用了一个非常简单的slide.xml作为退出转换 为这两个布局中的共享元素提供了android:transitionName 调用ActivityOptions.makeSceneTransitionAnimation()与该名称和我想要共享的视图 将生成的包传递给startActivity() 这是我看到的行为(尝试慢10倍的animation速度,以查看我的意思):就在幻灯片animation向下滑动不共享的视图之前,这些视图会稍微跳下来。 他们实际上有点分开。 但是:这只发生在我第二次运行该animation(以后每次)。 第一关看起来很好。 而且这也只会发生,如果我想与下一个活动共享一个元素。 一切工作正常,如果我不试图分享一个元素。 这是我的代码: 价值观/ styles.xml <resources> <style name="AppTheme" parent="android:Theme.Material.Light"> <!– enable window content transitions –> <item name="android:windowContentTransitions">true</item> <!– specify exit transition –> <item name="android:windowExitTransition">@transition/slide</item> </style> </resources> 过渡/ slide.xml <slide /> 主要活动的布局 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <View android:layout_width="match_parent" android:layout_height="0dp" […]

如何在活动转换期间使用共享元素快照视图?

我对传递给SharedElementCallback的onSharedElementStart()和onSharedElementEnd()方法的List<View> sharedElementSnapshots参数感到困惑。 据推测,这些快照视图旨在在共享元素转换期间用作临时占位符。 例如,假设活动A显示缩略图,活动B显示同一图像的高分辨率版本,加载和显示需要几秒钟。 而不必等待高分辨率图像完成加载,快照视图可以临时替代使用。 我弄糊涂的部分是快照视图是如何被使用的。 他们是否应该被添加到活动的视图层次? 或者,也许他们意味着被添加到窗口装饰视图的ViewOverlay ? 无论哪种方式,我没有看到在这一点上切换转换共享元素视图是怎么可能的…在onSharedElementStart()和onSharedElementEnd()之前onSharedElementStart() onSharedElementEnd() ,这意味着将转换名称映射到共享元素View s已经build立起来了。 任何提示将不胜感激。

共享元素转换(前景/背景)问题

我想知道是否有可能改变共享元素转换的z顺序? 看: 我有一个图像的布局,填满了整个屏幕。 在图像的前面是显示图像标题的文本框。 如果我点击文本框,则开始转换到详细信息活动。 因此,我实现了一个共享元素转换,其中全屏图像在详细视图中为其自身缩小版本。 下面的图片说明了这种行为。 我现在的问题是,在这两个活动是文本框,放在共享元素图像上方。 如果我从概览到详细活动,只有在共享元素转换完成后才能看到带有数字的圆圈文本框。 我想放置与共享元素转换上方的数字的文本框,以便我也可以在这个视图元素上做一个animation。 任何想法如何解决这个问题?

共享元素转换成RecyclerView中的视图,可能吗?

鉴于具有共享元素的Activity的正常棒棒糖转换,例如https://github.com/codepath/android_guides/wiki/Shared-Element-Activity-Transition ,通常是从View到Recycler View转换到一个目标活动的正常视图。 然而,如果有针对性的观点,也是在一个回收视图viewholder,有没有办法使这种可能(即提供有针对性的观点ActivityOptionsCompat)? 谢谢!

棒棒糖中的活动和片段转换

我试图围绕在Lollipop新的Activity Transition框架。 活动转换工作非常直接,这里有一些基本的信息 ,但Fragment Transition没有logging,我不能得到它的工作。 我试过这个用例(在Android中很常见): 情况1:ActA + FragA→ActB + FragB sharedElement是FragA和FragB一个映像 。 我没有拿出工作代码,所以我退后一步,试了一下 情况2:ActA + FragA→ActB 与FragA和ActB上的FragA ActB 。 这个animation是行不通的,我只能看到,当我点击FragA上的图片时,图片消失,在animation的持续时间后,它在ActB中popup。 在FragA之外但在ActA之内共享视图(例如Toolbar )正确animation。 在这种情况下,sharedImage是一个RecyclerView中的imageView,可能是项目的布局xml中的xml标签android:transitionName="shared_icon"不起作用? 这是我的主题: <!– Window Transactions –> <item name="android:windowContentTransitions">true</item> <item name="android:windowAllowEnterTransitionOverlap">true</item> <item name="android:windowAllowReturnTransitionOverlap">true</item> <item name="android:fragmentAllowEnterTransitionOverlap">@bool/true_bool</item> <item name="android:fragmentAllowReturnTransitionOverlap">@bool/true_bool</item> <item name="android:windowEnterTransition">@transition/window_transition.xml</item> <item name="android:windowExitTransition">@transition/window_transition.xml</item> <item name="android:fragmentEnterTransition">@transition/window_transition.xml</item> <item name="android:fragmentReturnTransition">@transition/window_transition.xml</item> <item name="android:fragmentReenterTransition">@transition/window_transition.xml</item> <!– Shared Element Transactions –> <item […]

TextInputLayout共享元素转换问题

这里我们去:两个共享元素转换的活动(Button)。 第二个Activity有一个带有提示的TextInputLayout : <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:focusable="true" android:focusableInTouchMode="true" android:gravity="center_horizontal" android:orientation="vertical"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="GO" android:transitionName="test"/> <android.support.design.widget.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="WTF?!"> <android.support.design.widget.TextInputEditText android:layout_width="match_parent" android:layout_height="wrap_content"/> </android.support.design.widget.TextInputLayout> </LinearLayout> 第二个Activity的input转换被延迟以澄清问题: TextInputLayout的提示忽略转换animation并在转换开始后立即显示。 在animation结束时,您可以在提示下方看到正确的animationEditText背景(水平线)。 这是一个错误还是我错过了什么? 这是第二个Activity : public class SecondActivity extends AppCompatActivity { public static void launch(Activity activity, View sharedElement) { Intent intent = new Intent(activity, SecondActivity.class); ActivityOptionsCompat options = […]

Android – 工具栏和状态栏作为内容更改的共享对象

在我的应用程序中,我将工具栏和状态栏设置为共享对象, 如本文后面的选项#2所示 工具栏和选项卡的一般行为和轮廓非常好 – 唯一的问题是,当我移动到活动B时,某些文本和图标正在改变 – 而且当前在共享元素转换完成后进行更改。 我尝试添加一个SharedElementCallback,并在其中遍历工具栏和选项卡的子项,并将它们全部添加到Fade转换 – 但它不影响工具栏和选项卡内容的行为。 任何想法如何从这里开始? 评论后添加了截图: 活动A 活动B

在Android 5.0中转换ImageView时奇怪的问题

我正在遇到一个奇怪的问题/错误关于Android 5.0中的活动之间的ImageView转换。 我试图从Fragment A (在Activity A )的缩略图图像转换到Fragment B (在Activity B )的标题图像。 它大部分时间运作良好,但有时候会有点微弱的变化。 这是一个当它搞乱时的样子: 当然,它应该填补整个地区。 这两个ImageViews设置为ScaleType.CENTER_CROP ,所以我无法想象这是问题。 有趣的是,这个问题在Activity B滚动时立即修复(一切都包含在一个子类ScrollView ,在滚动时改变ImageView填充)。 启动Activity B的代码非常简单: ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation( activity, thumbImageView, "cover"); // "cover" is the shared element name for both ImageViews ActivityCompat.startActivity(activity, intent, options.toBundle()); 以下是可观察的ScrollView侦听器的代码: scrollview.setOnScrollChangedListener(new OnScrollChangedListener() { @Override public void onScrollChanged(ScrollView who, int l, int t, int […]