2011.07.05(3)——— android PopupWindow 以及activity切换的动画效果对比
参考:http://blog.csdn.net/dany1202/article/details/6088865
http://gqdy365.iteye.com/blog/1007282
在上一节http://lipeng88213.iteye.com/blog/1114932中,那个popupwindow的动画效果没有出来
上节中 我写错了
popupWindow.setAnimationStyle(R.anim.popupwindow);
setAnimationStyle后面应该跟的是style文件 而我写的是anim文件 所以效果是出不来的
先更改如下:
res/anim anim文件:
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromXScale="0.0" android:toXScale="1.0" android:fromYScale="0.0" android:toYScale="1.0" android:pivotX="50%" android:pivotY="50%" android:fillAfter="true" android:duration="2000" /> <alpha android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="2000" /></set>
res/values style文件
<?xml version="1.0" encoding="utf-8"?><resources> <style name="AnimationPreview"> <item name="android:windowEnterAnimation">@anim/popupwindow</item> </style></resources>
java代码
popupWindow.setBackgroundDrawable(new BitmapDrawable()); popupWindow.setAnimationStyle(R.style.AnimationPreview); //popupWindow.setAnimationStyle(android.R.style.Animation_Dialog); popupWindow.setFocusable(true); popupWindow.update(); popupWindow.showAtLocation(v, Gravity.CENTER, 0, 0);
activity跳转 和popupwindow的动画效果对比
1.6的activity跳转动画 见http://lipeng88213.iteye.com/blog/1113809
1、activity切换动画
public void onClick(View v) { Intent intent = new Intent(ActivityAnim.this,ActivityTwo.class); startActivity(intent); overridePendingTransition(R.anim.act_enter,R.anim.act_exit); }
overridePendingTransition(int ,int)函数,第一个参数为activity显示动画,第二个参数为退出动画,两个动画的xml文件存放在anim文件夹下
或者:
getWindow().setWindowAnimations(R.style.window_animation);
2、popupwindow的动画
popwindow通过setAnimationStyle(int animationStyle)函数来设置动画效果
android:windowEnterAnimation表示进入窗口动画
android:windowExitAnimation表示窗口退出动画