如何添加动画DialogFragment? [英] How to add animation to DialogFragment?
本文介绍了如何添加动画DialogFragment?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我如何添加动画DialogFragment。我的动画是:
出动画:
<规模
机器人:时间=200
机器人:fillAfter =假
机器人:fromXScale =1.0
机器人:fromYScale =1.0
机器人:插值=@机器人:动画/ linear_interpolator
机器人:pivotX =50%
机器人:pivotY = - 90%
机器人:startOffset =200
机器人:toXScale =0.5
机器人:toYScale =0.5/><翻译
机器人:时间=300
机器人:fromXDelta =0
机器人:fromYDelta =0
机器人:toXDelta = - 200
机器人:toYDelta = - 200/>
在动画:
<规模
机器人:时间=200
机器人:fillAfter =假
机器人:fromXScale =0.5
机器人:fromYScale =0.5
机器人:插值=@机器人:动画/ linear_interpolator
机器人:pivotX =50%
机器人:pivotY = - 90%
机器人:toXScale =1.0
机器人:toYScale =1.0/><翻译
机器人:时间=300
机器人:fromXDelta = - 200
机器人:fromYDelta = - 200
机器人:toXDelta =0
机器人:toYDelta =0/>
和我的code:
FragmentTransaction英尺= getFragmentManager()调用BeginTransaction()。
ft.setCustomAnimations(R.anim.jump_in,R.anim.jump_out,R.anim.jump_in,R.anim.jump_out);
ft.add(layer_frag,图层FRAG);
ft.show(layer_frag).commit(); // layer_frag是加入WTO要求延伸DialogFragment一类
因为它似乎因为它出现之前,我可能失去了一些东西。
解决方案
@覆盖
公共对话框onCreateDialog(捆绑savedInstanceState)
{
最后对话的对话= super.onCreateDialog(savedInstanceState);
dialog.getWindow()的getAttributes()windowAnimations = R.style.detailDialogAnimation。;
返回对话框;
}
答案是从 stackoverflow.com/a/13537234/969325 但你必须设置样式为 onCreateDialog
功能。
How can I add animation to DialogFragment. My animations are:
out anim:
<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" />
in anim:
<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" />
and my code:
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
I must miss something because it appears as it appears before.
解决方案
@Override
public Dialog onCreateDialog(Bundle savedInstanceState)
{
final Dialog dialog = super.onCreateDialog(savedInstanceState);
dialog.getWindow().getAttributes().windowAnimations = R.style.detailDialogAnimation;
return dialog;
}
The answer was from stackoverflow.com/a/13537234/969325 but You have to set the style at onCreateDialog
function.
这篇关于如何添加动画DialogFragment?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文