android 幻灯片效果之平移

浏览:1112 ℃
字体:
发布时间:2013-12-17 09:37:37
来源:

实现原理:

使用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柣鐔哥矋濠㈡ê螞濡ゅ懏绠掗梻浣呵圭换鎺楀煕閸績鏋旈柡鍐ㄥ€归崰鎰版偨椤栵絽鏋熼悗姘炬嫹
>更多相关文章
24小时热门资讯
24小时回复排行
闂傚倷娴囬褏鈧稈鏅滅粭鐔肺旈埀顒冾暰闁诲孩鍐婚幏锟� 闂傚倸鍊风粈浣虹礊婵犲倴缂氱憸鎴﹀Φ閹扮増鍊烽柣銏㈡暩閻e爼姊洪棃娑氱疄闁稿﹥娲栬灋婵☆垵鍋愬Λ顖涖亜閹捐泛浠﹂柛锝呮憸缁辨帡顢欓懞銉ョ3闂佸搫鐭夌紞渚€宕洪敍鍕ㄥ亾閿濆骸浜滄い蹇ユ嫹
闂傚倷绀侀幉鈥愁潖婵犳艾纾婚柣鏃傚帶缁犳牕鈹戦悩鎻掓殭妞ゆ洝椴搁幈銊ヮ潨閸℃顫梺鍝ュ閹凤拷 闂備浇顕х€涒晠宕樻繝姘挃闁告洦鍏涚换鍡欐喐閺傛鍤曢柣銏犲閺佸秵鎱ㄥ鍡楀闁告ɑ甯楃换娑㈠箣閻愭潙闉嶇紓渚囧枛缁夌懓顕f繝姘亜闁稿繒鍘у▓蹇涙⒑閸濆嫬鏆欓柛濠傛贡缁牓鏁撻敓锟�
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 关于东联 | 安全雇佣 | 搞笑视频大全 | 微信学院 | 视频课程 |
关于我们 | 联系我们 | 广告服务 | 免责申明 | 作品发布 | 网站地图 | 官方微博 | 技术培训
Copyright © 2007 - 2025 Vm888.Com. All Rights Reserved
粤公网安备 44060402001498号 粤ICP备19097316号 请遵循相关法律法规
');})();