gpt4 book ai didi

java - 新 fragment 在白色背景上过渡而不是旧 fragment

转载 作者:行者123 更新时间:2023-12-05 07:24:46 24 4
gpt4 key购买 nike

我正在尝试使用此动画在两个 fragment 之间进行转换。

我遇到的问题是当我使用以下代码进行转换时。动画在白色背景上的新 fragment 而不是旧 fragment 中滑动。

我想使用 .replace 或创建与替换完全相同的功能。我还希望动画将新 fragment 滑过旧 fragment 。

FragmentTransaction transaction = MainActivity.instance.getSupportFragmentManager().beginTransaction();
transaction.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_right, R.anim.slide_in_right, R.anim.slide_out_right);


transaction.replace(R.id.main_frame_content, fragment);
transaction.commit();

try {
fragmentManager.executePendingTransactions();
} catch (Exception e) {
}

动画:

向右滑动:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="300"
android:fromXDelta="100%p"
android:toXDelta="0" />
</set>

向右滑出:

<?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:fromXDelta="0"
android:toXDelta="100%p" />
</set>

最佳答案

棘手的部分是您必须定义 Action 中的所有 Anim 字段。像下面这样的东西:

<fragment
android:id="@+id/profileFragment"
android:name="sample.presentation.view.fragments.profile.ProfileFragment"
android:label="fragment_profile"
tools:layout="@layout/fragment_profile" >

<action
android:id="@+id/action_profileFragment_to_personalInfoFragment"
app:destination="@id/personalInfoFragment"
app:enterAnim="@android:anim/slide_in_left"
app:exitAnim="@android:anim/slide_out_right"
app:popEnterAnim="@android:anim/slide_in_left"
app:popExitAnim="@android:anim/slide_out_right"/>
</fragment>

关于java - 新 fragment 在白色背景上过渡而不是旧 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55183223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com