android 幻灯片效果之平移

浏览:
字体:
发布时间: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




>更多相关文章
24小时热门资讯
24小时回复排行
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 关于东联 | 安全雇佣 | 搞笑视频大全 | 微信学院 | 视频课程 |
关于我们 | 联系我们 | 广告服务 | 免责申明 | 作品发布 | 网站地图 | 官方微博 | 技术培训
Copyright © 2007 - 2024 Vm888.Com. All Rights Reserved
粤公网安备 44060402001498号 粤ICP备19097316号 请遵循相关法律法规
');})();