【问题标题】:How to animate fragment from bottom如何从底部动画片段
【发布时间】:2015-07-16 10:17:53
【问题描述】:

我有一个活动,我想在活动上添加Fragment 然后当我click 一个按钮Fragment 应该从底部出现动画。

【问题讨论】:

    标签: android android-fragments android-activity fragment android-animation


    【解决方案1】:

    您好,您可以通过这种方式在您的活动中添加片段,在您的onClick()方法中添加这部分代码:

    FragmentTransaction mfragmentTransaction = getFragmentManager().beginTransaction();
    
    //add an animation, you can create your custom animation. Show below
    mfragmentTransaction.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right);
    MFragment mFragment = new MFragment();
    mfragmentTransaction.replace(R.id.MFragment, mFragment);
    mfragmentTransaction.addToBackStack(null).commit();
    

    slide_in_left.xml

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

    slide_out_right.xml

    <set>
      <translate xmlns:android="http://schemas.android.com/apk/res/android"
       android:fromXDelta="-100%"
       android:toXDelta="0"
       android:interpolator="@android:anim/decelerate_interpolator"
       android:duration="300"/>
    </set>
    

    这是一个从左到右为片段设置动画的示例。您可以根据需要使用 xml 值来更改动画方向。 ;)

    【讨论】:

      【解决方案2】:

      你可以使用这个动画。

      <?xml version="1.0" encoding="utf-8"?>
       <set xmlns:android="http://schemas.android.com/apk/res/android">
          <translate 
             android:fromYDelta="75%p"
             android:toYDelta="0%p"
             android:fillAfter="true"
             android:duration="500" />
      </set>
      

      【讨论】:

        【解决方案3】:

        通过代码翻译

         TranslateAnimation anim = new TranslateAnimation(0, 0, 0, 500); 
         anim.setDuration(200);
         balllayout.startAnimation(anim);
        

        balllayout 是动画布局。

        【讨论】:

          猜你喜欢
          • 2021-12-03
          • 1970-01-01
          • 2020-08-10
          • 1970-01-01
          • 2022-01-06
          • 2018-09-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多