【问题标题】:Fragment Content Transition片段内容过渡
【发布时间】:2018-01-07 03:50:14
【问题描述】:

我正在尝试执行一个简单的过渡。我已将此添加到我的 Fragment 的 onCreate 方法中。我查看了 FragmentTransaction 文档,但在将其添加到活动时没有看到任何需要指定的内容。我从下面的代码中没有得到任何影响。感谢您的帮助。

    Slide slide = new Slide(Gravity.BOTTOM);
    slide.addTarget(R.id.cardview_container);
    slide.setInterpolator(
            AnimationUtils.loadInterpolator(getContext(), android.R.interpolator.linear_out_slow_in));
    slide.setDuration(1000);
    setEnterTransition(slide);

【问题讨论】:

    标签: android material-design android-transitions


    【解决方案1】:

    在将幻灯片添加到 Activity 之前设置幻灯片过渡,而不是在 onCreate 中。

    例如

    Fragment fragment = new FragmentYouWantToAdd()
    
    Slide slide = new Slide(Gravity.BOTTOM);
    slide.addTarget(R.id.cardview_container);
    slide.setInterpolator(
            AnimationUtils.loadInterpolator(getContext(), android.R.interpolator.linear_out_slow_in));
    slide.setDuration(1000);
    fragment.setEnterTransition(slide); // Setting transitions to the fragment
    
    getSupportFragmentManager().beginTransaction()
        .add(R.id.container, fragment)
        .commit()
    

    【讨论】:

      【解决方案2】:

      您也可以使用 XML 简单地向片段添加过渡。通过在anim 文件夹中创建过渡。例如 让一个过渡,

      enter_from_left

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

      在创建或进入片段时,设置从左侧幻灯片过渡到片段的输入。 然后将其设置为您的片段,

      YourFragment fragment = new YourFragment();
      fragment.setEnterTransition(R.anim.enter_from_left);
      FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
          transaction.add(R.id.container, fragment);
          transaction.commit();
      

      如果您还想添加退出转换,那么只需使用setCustomAnimations()。作为,

      fragment.setCustomAnimations(enterTransition, exitTransition);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多