DialogFragment 动画 和 Fragment动画(资源)可能不同(设置的方法就不同,直接使用会导致机器重启)
DialogFragment 好像同PopUpWindow动画资源
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (getDialog() != null) { //不可少
getDialog().getWindow().getAttributes().windowAnimations = R.style.CustomDialog;
// getDialog().getWindow().setWindowAnimations(R.style.animate_dialog); //
也可以这样设置附件一:
}
return super.onCreateView(inflater, container, savedInstanceState);
}
也可以在封装的父类中加上style.xml :
附件二:
TWeen动画(上下、左右、扇形旋转).zip :附件三:
另:
Fragment动画见代码积累
getFragmentManager().beginTransaction().setCustomAnimations(R.animator.fragment_slide_right_in,R.animator.fragment_slide_left_out,R.animator.fragment_slide_left_in,R.animator.fragment_slide_right_out).replace(R.id.your_fragment,YourFragment.newInstance()).commit()
附件一:
一、java代码实现
// 创建一个AnimationSet对象,参数为Boolean型,
// true表示使用Animation的interpolator,false则是使用自己的
ImageView animationview = (ImageView) findViewById(R.id.animationview);
AnimationSet animationSet = new AnimationSet(true);
/*
* 透明度设置
*/
AlphaAnimation alphaAnimation = new AlphaAnimation(1, 0);
alphaAnimation.setDuration(1000);
animationSet.addAnimation(alphaAnimation);
/*
* 旋转设置
*/
RotateAnimation rotateAnimation = new RotateAnimation(
0, 180, Animation.RELATIVE_TO_SELF, 0.5f,
Animation.RELATIVE_TO_SELF, 0.5f);
rotateAnimation.setDuration(1000);
animationSet.addAnimation(rotateAnimation);
/*
* 移动设置
*/
TranslateAnimation translateAnimation = new TranslateAnimation(
// 移动
Animation.RELATIVE_TO_SELF, 0f,
Animation.RELATIVE_TO_SELF, 0.5f,
Animation.RELATIVE_TO_SELF, 0f,
Animation.RELATIVE_TO_SELF, 0.5f);
translateAnimation.setDuration(1000);
animationSet.addAnimation(translateAnimation);
二、xml实现
在res下新建anim,新建一个Resource type 的Tween Animation.xml
有任何疑问或技术合作都可联系我
微信:yanfahezuo 【推荐】
QQ:596957738