Jac*_*ień 6 android android-animation android-support-library android-transitions
我做了一个简单的例子来证明ActivityOptions.makeSceneTransitionAnimation(activity)
.
我有 3 个活动:A、B 和 C。流程很简单:A -> B -> C
所有活动都具有相同的风格:
<style name="TransitionsTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
<item name="android:windowEnterTransition">@transition/slide_in_from_bottom</item>
<item name="android:windowExitTransition">@transition/slide_out_to_bottom</item>
</style>
Run Code Online (Sandbox Code Playgroud)
每当我去:不播放A -> B -> C -> B (back button) -> A (back button)
最后一个动画(A -> C)
。
仅在执行时它工作正常 A -> B -> A (back button)
以下是我开始活动的方式:
fun start(activity: Activity) {
val intent = Intent(activity, TransitionActivityA::class.java) //or B or C
val transitionsOptions = ActivityOptions.makeSceneTransitionAnimation(activity)
activity.startActivity(intent, transitionsOptions.toBundle())
}
Run Code Online (Sandbox Code Playgroud)
演示该问题的应用程序:https : //github.com/jkwiecien/AndroidCaseStudies/tree/transitions
使用分支transitions
这是Android错误还是我做错了什么?
Cac*_*oot -1
它不起作用,因为ActivityB
是由 启动的ActivityC
,而它确实可以过渡到ActivityB
,因为ActivityC
是由它启动的。
看来您必须使用反向来覆盖并手动onBackPressed()
启动。唯一的方法是调用after 。ActivityA
ActivityB
ActivityOptions
overridePendingTransition()
finish()
归档时间: |
|
查看次数: |
186 次 |
最近记录: |