当前位置: 代码迷 >> Android >> 2011.07.05(三)——— android PopupWindow 以及activity切换的动画效果对比
  详细解决方案

2011.07.05(三)——— android PopupWindow 以及activity切换的动画效果对比

热度:34   发布时间:2016-05-01 15:27:24.0
2011.07.05(3)——— android PopupWindow 以及activity切换的动画效果对比
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表示窗口退出动画


  相关解决方案