【发布时间】:2015-07-16 10:17:53
【问题描述】:
我有一个活动,我想在活动上添加Fragment 然后当我click 一个按钮Fragment 应该从底部出现动画。
【问题讨论】:
标签: android android-fragments android-activity fragment android-animation
我有一个活动,我想在活动上添加Fragment 然后当我click 一个按钮Fragment 应该从底部出现动画。
【问题讨论】:
标签: android android-fragments android-activity fragment android-animation
您好,您可以通过这种方式在您的活动中添加片段,在您的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 值来更改动画方向。 ;)
【讨论】:
你可以使用这个动画。
<?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>
【讨论】:
通过代码翻译
TranslateAnimation anim = new TranslateAnimation(0, 0, 0, 500);
anim.setDuration(200);
balllayout.startAnimation(anim);
balllayout 是动画布局。
【讨论】: