如何添加动画到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函数的样式.