gpt4 book ai didi

android - Fragment Transaction 如何与动画一起使用?

转载 作者:行者123 更新时间:2023-11-29 20:32:33 24 4
gpt4 key购买 nike

我在使用 Fragment Transaction 时遇到了一个非常烦人的情况。

在我的 Activity 中有一个 fragment 必须出现一个向上滑动的动画:

public void showConnectedToWifiCard(String ssid) {
Bundle bundle = new Bundle();
bundle.putString("SSID", ssid);

ConnectedToWifiCardFragmentImpl fm = new ConnectedToWifiCardFragmentImpl();
fm.setArguments(bundle);

// Begin the transaction
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();

// Replace the contents of the container with the new fragment
//ft.setCustomAnimations(R.anim.slide_up_anim, R.anim.slide_down_anim);

//ft.hide(fm);
if (ft == null){
ft.add(R.id.main_small_card, fm);
}else{
ft.replace(R.id.main_small_card, fm);
}

ft.commit();
}

我原以为 Fragment Transaction 会在动画之后立即创建 fragment (或替换),但结果是:

  • fragment 出现在 Activity 中
  • fragment 消失
  • fragment 启动动画。

我尝试将 fragment 设置为不可见/可见,但结果没有改变。

如何解决这个“眨眼”?

最佳答案

替换Fragment时制作动画,可以使用这段代码:

FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();

//set customize animation here
fragmentTransaction.setCustomAnimations(R.anim.slide_left_in, R.anim.slide_left_out,
R.anim.slide_right_in, R.anim.slide_right_out);

ExampleFragment fragment = ExampleFragment.getInstance();

fragmentTransaction.replace(R.id.fragment, fragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();

详情请看我的博文: http://www.devexchanges.info/2015/05/replacing-fragment-and-adding-layouts.html希望这有帮助! :D

关于android - Fragment Transaction 如何与动画一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31756996/

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