问题描述
我想在MVVMCross项目的导航过程中实现进入和退出片段动画。
[MvxFragmentPresentation(typeof(Testviewmodel),Resource.Id.content_frame,true,Resource.Animation.enter_from_right,Resource.Animation.exit_nothing_animation)]
enter_from_right
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<translate
android:fromXDelta="100%p" android:toXDelta="0%"
android:fromYDelta="0%" android:toYDelta="0%"
android:duration="@android:integer/config_mediumAnimTime" />
</set>
exit_nothing_animation
<?xml version="1.0" encoding="UTF-8" ?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromAlpha="1"
android:toAlpha="1" />
我希望新碎片从旧的fragamnet上方滑出,而旧碎片将保留在同一位置。
但是新片段只是立即出现而没有动画
其他主题建议使用Add insted Replace,但是MVVMCross项目中的正确方法是什么?
解决方法
答案在基本片段类中重写此方法
mutation SkipToPreviousTrack($deviceUuid: String!,$sourceId: String!,$index: Int!,$elapsedTime: Float!) {
playback {
previous(deviceUuid: $deviceUuid,sourceId: $sourceId,index: $index,elapsedTime: $elapsedTime) {
status
current {
... on TrackItem {
track {
... on Track {
...TrackDetails
}
}
}
}
}
}
}