StarWars.Android碎片式过渡动画

介绍:

把一个视图变成碎片的过渡动画,效果不能再牛逼了。

运行效果:

使用说明:

dribbble上的项目.

还可以在 我们的博客中 了解我们是如何实现的。

需要

  • Android SDK 15+

  • OpenGL ES 2.0+

 

build.gradle:

   
   
  1. dependencies {
  2.     //...
  3.     compile 'com.yalantis:starwarstiles:0.1.0'
  4. }

把fragment或者activity的主视图包裹在TilesFrameLayout中:

   
   
  1. <com.yalantis.starwars.TilesFrameLayout
  2.   android:id="@+id/tiles_frame_layout"
  3.   android:layout_height="match_parent"
  4.   android:layout_width="match_parent"
  5.   app:sw_animationDuration="1500"
  6.   app:sw_numberOfTilesX="35">
  7.  
  8.   <!-- Your views go here -->
  9.  
  10. </com.yalantis.starwars.TilesFrameLayout>

用这些属性调整动画:

  • app:sw_animationDuration – 持续时间 毫秒

  • app:sw_numberOfTilesX – the number of square tiles the plane is tessellated into broadwise

   
   
  1. mTilesFrameLayout = (TilesFrameLayout) findViewById(R.id.tiles_frame);
  2. mTilesFrameLayout.setOnAnimationFinishedListener(this);

在fragment或者activity的onPause() 和 onResume()中,记得调用相应的方法:

   
   
  1. @Override
  2. public void onResume() {
  3.     super.onResume();
  4.     mTilesFrameLayout.onResume();
  5. }
  6.  
  7. @Override
  8. public void onPause() {
  9.     super.onPause();
  10.     mTilesFrameLayout.onPause();
  11. }

要开始动画,只需调用:

   
   
  1. mTilesFrameLayout.startAnimation();

当动画结束的时候,将调用回调函数:

   
   
  1. @Override
  2. public void onAnimationFinished() {
  3.    // Hide or remove your view/fragment/activity here
  4. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值