android 幻灯片效果之平移
实现原理:
使用SurfaceView一直重绘实现该动画效果
先看效果图:
代码实现:
a,左边向右边平移
package com.open.turnpage;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.PaintFlagsDrawFilter;import android.graphics.Rect;import android.view.SurfaceHolder;/** * * @author yanglonghui * */public class TranslateLeft implements ITurnPage { private int duration=500;//动画持续时间 private PaintFlagsDrawFilter pdf=new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG); public TranslateLeft() { // TODO Auto-generated constructor stub } @Override public void onCreate() { // TODO Auto-generated method stub } @Override public void onTurnPageDraw(SurfaceHolder holder, Bitmap[] bitmap, int maxWidth, int maxHeight) { int dx=(maxWidth-bitmap[1].getWidth())/2; int dy=(maxHeight-bitmap[1].getHeight())/2; int dx2=(maxWidth-bitmap[0].getWidth())/2; int dy2=(maxHeight-bitmap[0].getHeight())/2; long start=System.currentTimeMillis(); long runMills=0; Rect src=new Rect(); Canvas canvas=null; boolean isRunning=true; while(isRunning) { isRunning=((runMills=(System.currentTimeMillis()-start))b,右边向左边平移
package com.open.turnpage;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.PaintFlagsDrawFilter;import android.graphics.Rect;import android.view.SurfaceHolder;/** * * @author yanglonghui * */public class TranslateRight implements ITurnPage { private int duration=500;//动画持续时间 private PaintFlagsDrawFilter pdf=new PaintFlagsDrawFilter(0, Paint.ANTI_ALIAS_FLAG|Paint.FILTER_BITMAP_FLAG); public TranslateRight() { // TODO Auto-generated constructor stub } @Override public void onCreate() { // TODO Auto-generated method stub } @Override public void onTurnPageDraw(SurfaceHolder holder, Bitmap[] bitmap, int maxWidth, int maxHeight) { int dx=(maxWidth-bitmap[0].getWidth())/2; int dy=(maxHeight-bitmap[0].getHeight())/2; int dx2=(maxWidth-bitmap[1].getWidth())/2; int dy2=(maxHeight-bitmap[1].getHeight())/2; long start=System.currentTimeMillis(); long runMills=0; Rect src=new Rect(); Canvas canvas=null; boolean isRunning=true; while(isRunning) { isRunning=((runMills=(System.currentTimeMillis()-start))
demo代码参见 github:https://github.com/zz7zz7zz/android-turnpage csdn:http://download.csdn.net/detail/zz7zz7zz/6715605
闂傚倸鍊烽懗鍫曘€佹繝鍕濞村吋娼欑壕鍧楁⒑椤掆偓缁夊绮婚弽顓熺厸闁搞儮鏅涜ⅴ闂佺ǹ顑嗛幐鎼佸煡婢跺﹦鏆﹂柛銉㈡櫇閻涖儳绱撻崒娆掝唹闁逞屽墮閸熷潡顢旈鐘亾鐟欏嫭绀冪紒璇茬墦楠炲啴鍩¢崨顖氬絼濡炪倖鎸炬慨铏閵忕姭鏀介柣鎴濇川閸掔増绻涢弶鎴濐伃妤犵偛绻橀弫鎾绘晸閿燂拷/QQ 1602007闂傚倸鍊烽悞锔锯偓绗涘懐鐭欓柟杈鹃檮閸ゆ劖銇勯弽顐粶闁活厽顨堥幉绋款吋婢跺﹦鍘洪梺鍝勫暙閻楀棙鍎梻浣瑰缁诲倿宕愰崨濠勵洸闁诡垎鈧弨浠嬫煟濡法绨块柛蹇撴湰閵囧嫰骞囬鍡欑厯闂佸搫鐭夌换婵嗙暦閹烘垟鍫幖娣灪閺嗙偛鈹戦悙宸殶濠殿喗鎸抽幃褔骞樼拠鑼暰闂佸憡娲﹂崹閬嶅磻閸曨垱鐓i煫鍥ㄦ尰鐠愶繝寮崼銉︹拻濞撴埃鍋撴繛浣冲吘娑樜旈崪浣规櫈闂佸憡渚楅崰姘躲€呴弻銉︾厸闁搞儮鏅涢弸鏃堟煃閻熸壆效闁哄苯绉规俊鐑藉Ψ閵夛附鐦i柣鐔哥矋濠㈡ê螞濡ゅ懏绠掗梻浣呵圭换鎺楀煕閸績鏋旈柡鍐ㄥ€归崰鎰版偨椤栵絽鏋熼悗姘炬嫹
>更多相关文章
首页推荐
佛山市东联科技有限公司一直秉承“一切以用户价值为依归
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 03-08消息称微软开发内部AI推理模型,或将成为Op
- 03-08美国法院驳回马斯克请求,未阻止OpenAI转型
- 03-08饿了么成立即时配送算法专家委员会 持续全局
- 03-08长安汽车:预计今年底长安飞行汽车将完成试
- 03-08谷歌推出虚拟试穿、AR美妆新功能
相关文章
24小时热门资讯
24小时回复排行
热门推荐
最新资讯
操作系统
黑客防御