如何添加动画到DialogFragment.我的动画是:
出动词:
<scale android:duration="200" android:fillAfter="false" android:fromXScale="1.0" android:fromYScale="1.0" android:interpolator="@android:anim/linear_interpolator" android:pivotX="50%" android:pivotY="-90%" android:startOffset="200" android:toXScale="0.5" android:toYScale="0.5" /> <translate android:duration="300" android:fromXDelta="0" android:fromYDelta="0" android:toXDelta="-200" android:toYDelta="-200" />
动画:
<scale android:duration="200" android:fillAfter="false" android:fromXScale="0.5" android:fromYScale="0.5" android:interpolator="@android:anim/linear_interpolator" android:pivotX="50%" android:pivotY="-90%" android:toXScale="1.0" android:toYScale="1.0" /> <translate android:duration="300" android:fromXDelta="-200" android:fromYDelta="-200" android:toXDelta="0" android:toYDelta="0" />
和我的代码:
FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.setCustomAnimations(R.anim.jump_in,R.anim.jump_out,R.anim.jump_in,R.anim.jump_out); ft.add(layer_frag,"layer frag"); ft.show(layer_frag).commit();//layer_frag is a class whitch extends DialogFragment
我必须想念一些东西,因为它看起来像以前一样.
解决方法
@Override public Dialog onCreateDialog(Bundle savedInstanceState) { final Dialog dialog = super.onCreateDialog(savedInstanceState); dialog.getWindow().getAttributes().windowAnimations = R.style.detailDialogAnimation; return dialog; }
答案是从stackoverflow.com/a/13537234/969325,但你必须设置在onCreateDialog函数的样式.