我想使用Android Lollipop的新Activity Transitions.但目前我在动画片中看到非常奇怪的拾音.我把我能想到的最小样本砍在一起.
这是我在很短的版本中所做的:
styles.xmlslide.xml在我的风格中引用了一个非常简单的退出过渡android:transitionName为两个布局中的共享元素提供了一个ActivityOptions.makeSceneTransitionAnimation()使用该名称和我想要分享的视图调用startActivity()这是我看到的行为(尝试慢10倍的动画速度来看看我的意思):在幻灯片动画向下滑动未共享的视图之前,这些视图会略微下降.他们实际上分开了一点.
但是:这只会在我第二次运行该动画时发生(之后每次都会发生).第一关看起来很好.而且只有当我想与下一个活动共享元素时才会发生这种情况.如果我不尝试共享元素,一切正常.
这是我的代码:
价值观/ 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>
Run Code Online (Sandbox Code Playgroud)
过渡/ slide.xml
<slide />
Run Code Online (Sandbox Code Playgroud)
主要活动的布局
<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"
android:layout_weight="1"
android:background="#0000ff" />
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#00ff00" />
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#0000ff" />
<View
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="#00ff00" />
</LinearLayout> …Run Code Online (Sandbox Code Playgroud) android android-5.0-lollipop activity-transition shared-element-transition