关闭

Android AlertDialog淡入淡出动画

2353人阅读 评论(0) 收藏 举报
分类:

1.将下面的2个xml动画文件放入res/anim文件夹

1.1dialog_enter 进入动画

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
  <scale     
    android:interpolator= "@android:anim/decelerate_interpolator"         
    android:fromYScale="1.3"     
    android:toYScale="1"     
     android:fromXScale="1.3"     
    android:toXScale="1"   
    android:pivotX="50%"     
    android:pivotY="50%"     
    android:startOffset="0"     
    android:duration="200"    
   />   
   
    <alpha 
	 android:fromAlpha="0.0"    
    android:toAlpha="1.0"        
    android:duration="300"
      />

</set>
1.2dialog_exit 退出动画

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
  <scale     
    android:interpolator= "@android:anim/decelerate_interpolator"         
    android:fromYScale="1"     
    android:toYScale="1.3"     
     android:fromXScale="1"     
    android:toXScale="1.3"   
    android:pivotX="50%"     
    android:pivotY="50%"     
    android:startOffset="0"     
    android:duration="300"    
   />   
   
  <alpha 
	 android:fromAlpha="1.0"    
    android:toAlpha="0.0"        
    android:duration="300"
      />
</set>

2.1 新建一个style放入style.xml文件中

    <!-- dialog动画 -->
    <style name="dialog_style" parent="android:Animation">
        <item name="android:windowEnterAnimation">@anim/dialog_enter</item>
        <item name="android:windowExitAnimation">@anim/dialog_exit</item>
    </style>

3.AlertDialog调用动画 完成

	@Override
	public Dialog onCreateDialog(Bundle savedInstanceState) {
		// TODO Auto-generated method stub

		alertDialog = new AlertDialog.Builder(getActivity(), R.style.Theme_Transparent).create();
		Window window = alertDialog.getWindow();
		window.setGravity(Gravity.CENTER);
		window.setWindowAnimations(R.style.dialog_style);
		View view = View.inflate(getActivity(), R.layout.recommend_fragment, null);
		initView(view);

		alertDialog.setView(view, 0, 0, 0, 0);
		return alertDialog;
	}





0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:17912次
    • 积分:355
    • 等级:
    • 排名:千里之外
    • 原创:14篇
    • 转载:28篇
    • 译文:0篇
    • 评论:2条
    最新评论