KenBurnsView:实现Ken Burns effect图片展示效果的效果android控件

转载于:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0920/1698.html

一个实现Ken Burns effect图片展示效果的效果android控件。Ken Burns effect是一种图片在切换之前,会缓慢在页面移动或者放大缩小,然后再慢慢切换过去。这样的效果使得每一张静止图片都有动态的效果感觉。类似的效果在电子相册,或者在电影视频对静态图片的处理中经常可见。

效果如下:

Example Image

项目地址https://github.com/flavioarfaria/KenBurnsView

用法:

最简单的用法是直接将项目中提供的jar文件放入,然后在xml中添加:

1
2
3
4
5
<com.flaviofaria.kenburnsview.KenBurnsView
     android:id= "@+id/image"
     android:layout_width= "match_parent"
     android:layout_height= "match_parent"
     android:src= "@drawable/your_drawable" />

高级用法:

1.设置listener:

1
2
3
4
5
6
7
8
9
KenBurnsView kbv = (KenBurnsView) findViewById(R.id.image);
kbv.setTransitionListener( new TransitionListener() {
     @Override
     public void onTransitionStart(Transition transition) {
     }
     @Override
     public void onTransitionEnd(Transition transition) {
     }
});

2.你可以用kbv.pause() 和 kbv.resume();暂停和恢复动画。

3.你可以设置动画的插值和过度时间:

1
2
RandomTransitionGenerator generator = new RandomTransitionGenerator(duration, interpolator);
kbv.setTransitionGenerator(generator);
Ken Burns effect效果自动移动来显示完整图片。你可以自定义移动路径,如:从左到有、从上到下、从左下角到右上角、从右上角到左下角等等,并且这些路径可以组合使用项目地址:https://github.com/AlbertGrobas/MovingImageView 效果图:如何使用:创建图片<net.grobas.view.MovingImageView             android:id="@ id/image"             android:layout_width="match_parent"             android:layout_height="250dp"             android:clickable="true"             android: 添加移动监听image = (MovingImageView) findViewById(R.id.image); image.getMovingAnimator().addListener(new Animator.AnimatorListener() {             @Override             public void onAnimationStart(Animator animation) {                 Log.i("Sample MovingImageView", "Start");             }             @Override             public void onAnimationEnd(Animator animation) {                 Log.i("Sample MovingImageView", "End");             }             @Override             public void onAnimationCancel(Animator animation) {                 Log.i("Sample MovingImageView", "Cancel");             }             @Override             public void onAnimationRepeat(Animator animation) {                 Log.i("Sample MovingImageView", "Repeat");             }         });3. 停止和重新开始image.getMovingAnimator().pause();//停止 image.getMovingAnimator().resume();//重新开始注意:这俩个功能只能在Android 4.4以上使用。4. 设置自定义移动路径image.getMovingAnimator().addCustomMovement().addDiagonalMoveToDownRight().addHorizontalMoveToLeft().addDiagonalMoveToUpRight()                     .addVerticalMoveToDown().addHorizontalMoveToLeft().addVerticalMoveToUp().start();DiagonalMoveToDownRight:从左上角到右下角HorizontalMoveToLeft:从右到左DiagonalMoveToUpRight:从左下角到右上角清除自定义路径:image.getMovingAnimator().clearCustomMovement();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值