如何从底部动画片段

时间:2015-07-16 10:17:53

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

我有一项活动,我希望在活动中添加Fragment,然后当我click按钮Fragment从底部出现时会显示动画。

3 个答案:

答案 0 :(得分:2)

您好,您可以通过这种方式在活动中添加片段,在您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值来根据需要更改动画方向。 ;)

答案 1 :(得分:0)

您可以使用此动画。

<?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>

答案 2 :(得分:0)

通过代码翻译

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

balllayout是动画的布局。