首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何创建一个片断向上滑动到另一个片断上的过渡?

如何创建一个片断向上滑动到另一个片断上的过渡?
EN

Stack Overflow用户
提问于 2020-10-12 08:09:39
回答 1查看 33关注 0票数 0

我有两个片段,分别名为MainFragmentPlaybackFragment。我使用导航体系结构组件来实现两者之间的导航。

我想要做的是创建一个过渡,在这个过渡中,PlaybackFragment将滑过MainFragment,当用户关闭PlaybackFragment时,它将滑下,再次显示MainFragment

为此,我创建了两个平移动画。一种是向上滑动:

代码语言:javascript
运行
复制
anim_nav_slide_up.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="250"
    android:fromYDelta="100%"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:toYDelta="0%" />

一个是滑下来的:

代码语言:javascript
运行
复制
anim_nav_slide_down.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="250"
    android:fromYDelta="0%"
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:toYDelta="100%" />

问题是,在转换发生时,MainFragment不会保持静止不动,而是在显示PlaybackFragment时向下滑动,而在关闭PlaybackFragment时向上滑动。我在下面附上了一个例子。

有没有一种方法可以让PlaybackFragment在不移动MainFragment的情况下滑过MainFragment?我不想使用底片,因为我不认为这是他们在这种情况下的预期目的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-12 17:00:17

使用不执行任何操作的动画。

hold.xml

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="@android:integer/config_mediumAnimTime"
        android:fromYDelta="0.0%p"
        android:toYDelta="0.0%p" />
</set>

并在导航组件xml文件中将其指定为popEnterAnim

代码语言:javascript
运行
复制
app:popEnterAnim="@anim/hold"
app:popExitAnim="@anim/slide_out_down" 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64310207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档