【发布时间】:2013-02-10 09:55:09
【问题描述】:
如何将动画添加到 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
我必须错过一些东西,因为它看起来就像以前一样。
【问题讨论】:
-
您的答案在这里:stackoverflow.com/a/13537234/969325。简而言之,您必须破解它,因为没有构建方式。
-
可能不是,因为我这样做了,它对我也不起作用:(它稍微改变了布局,但动画没有出现
-
那么我想你只剩下制作自己的片段了,它显示为一个对话框。
-
// 根据 num 选择样式。 int style = DialogFragment.STYLE_NO_TITLE; setStyle(style, R.style.MyCustomTheme);
-
这样我已经设置了样式和自定义主题,但是动画被遗漏了:(